00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __P_BLOCK_CONNECTION_H
00021 #define __P_BLOCK_CONNECTION_H
00022
00031 class PBlockConnection {
00032 public:
00033
00042 PBlockConnection(const string &definedBlock,
00043 const string &blockToDefine,
00044 const HASH_MAP_STRPAIR_EX(Vector3) &relativePositions,
00045 const vector<PBlockBondShell> &blockConnections);
00046
00053 void GenerateNewBlock(PBlock *blockDefined, PBlock *incompleteBlock);
00054
00058 void BondBlocksTogether(PBlock *blockDefined, PBlock *blockJustDefined);
00059
00060
00064 StringPair getName() const { return make_pair(m_blockDefined->getName(), m_blockToDefine->getName()); }
00065
00066 private:
00067
00068 PBlockShell *m_blockToDefine;
00069 PBlockShell *m_blockDefined;
00070
00071 HASH_MAP_STRPAIR_EX(Vector3) m_blockDefinedRelPositions;
00072
00073 vector<PBlockBondShell> m_blockConnections;
00074 };
00075
00076 #endif // __P_BLOCK_CONNECTION_H