00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __P_BLOCK_RECONNECTOR_H
00021 #define __P_BLOCK_RECONNECTOR_H
00022
00028 class PBlockReconnector {
00029 public:
00030
00035 PBlockReconnector(PBlock *anchor, PBlock *toDetach);
00036
00041 void ReconnectBlocks();
00042
00046 Matrix4 GetReconnectTransform();
00047
00051 PBlock *getAnchor() {return m_anchor; }
00052
00056 PBlock *getDetached() {return m_detached; }
00057
00058 private:
00059 PBlock *m_anchor;
00060 PBlock *m_detached;
00061
00062 Matrix4 m_transformWA,m_transformAB,m_transformAW;
00063
00064 Vector3 m_originalCA;
00065 Vector3 m_xOrig,m_yOrig,m_zOrig;
00066 Vector3 m_xPr,m_yPr,m_zPr;
00067
00068 };
00069
00070 #endif // __P_BLOCK_RECONNECTOR_H