//------------------------------------------------------------------------+ // Copyright (C), 1998-2011, Beijing Tangent Software Co. Ltd. // = FileName : TDbObjMakeAssoc类 // = Version : ver1.0 // = Author : xlc // = CreateDate : 2011-06-29 // = Description: 关联处理类声明 // = Maintainers: // //------------------------------------------------------------------------+ #ifndef _TDBOBJMAKEASSOC_H_ #define _TDBOBJMAKEASSOC_H_ #ifndef _TASSOCMSG_H_ #include "TAssocMsg.h" #endif class TDbStruFloorSlab; class TARCH_EXP TDbObjMakeAssoc { public: TDbObjMakeAssoc(); virtual ~TDbObjMakeAssoc(); //添加,编辑对象消息 void TranslateMsg(TAssocMsg& msg); //夹点消息 void TranslateGripMsg(TAssocMsg& msg); //移动消息 void TranslateTransformMsg(TAssocMsg& msg); //新位置建立关联 void MakeAssocAtNewPosition(AcDbObjectId idObj); AcDbObjectIdArray m_arIdsModified; //已修改Id数组 AcDbObjectIdArray m_arIdsToModify; //同时将要修改Id数组 AcDbObjectIdArray m_arIdsToUpdate; //将要更新的Id数组 protected: void UpdateAssocByTransform(); private: // 参考楼板pSlab,绘制以poly为边界的楼板 void CreateNewFloorSlab(const TDbStruFloorSlab* pSlab, TGGePoly2D& poly); // 拆分楼板 void SplitFloorSlab(TGGeCurveSegment cvCenter, TDbStruFloorSlab* pFloorSlab); }; #endif