00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __P_BLOCK_SHELL_H
00021 #define __P_BLOCK_SHELL_H
00022
00023 class PBondShell;
00024
00029 class PBlockShell {
00030 public:
00031
00036 PBlockShell(const string &name, const string &type);
00037
00044 void addAtom(const string &id, const string &name, Vector3 relativePosition);
00045
00051 void addBond(const string &id1, const string &id2, bool isDOF);
00052
00056 void addBond(const PBondShell &pbs);
00057
00061 string getName() const { return m_name; }
00062
00066 string getType() const { return m_type; }
00067
00071 vector<PBondShell>* getBonds() { return &m_bondSpecs; }
00072
00077 StringMap* getAtoms() {return &m_atoms; }
00078
00083 PAtomPositionsSpec *getDefaultPositions() {return &m_defaultRelPositions; }
00084
00085 private:
00086 string m_name;
00087 string m_type;
00088 StringMap m_atoms;
00089 vector<PBondShell> m_bondSpecs;
00090 PAtomPositionsSpec m_defaultRelPositions;
00091 };
00092
00093 #endif // __P_BLOCK_SHELL_H