#ifndef _TINTERFACETRANSFORMBYMANAGER_H__ #define _TINTERFACETRANSFORMBYMANAGER_H__ #if _MSC_VER > 1000 #pragma once #endif #include "TInterfaceManager.h" class TInterfaceTransformByManager : public TInterfaceManager { public: TInterfaceTransformByManager(); virtual ~TInterfaceTransformByManager(); virtual void TranslateTransformByMsg(const TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns); protected: void NotifyInterfaceToModify(TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns); BOOL Find(const TInterface& pipeInterface); BOOL Find(const AcGePoint3d& ptCon,const AcGeVector3d& vtDir,AcDbObjectId& idFind,const AcDbObjectId& idOwnerNotMe); //在新位置找一对接口 int Find(const AcGePoint3d& ptCon,const AcGeVector3d& vtDir,AcDbObjectId& idFind1,AcDbObjectId& idFind2,const AcDbObjectId& idOwnerNotMe); BOOL Update(const TInterface& pipeInterface); BOOL Update(const TInterface& pipeInterface,const AcDbObjectId& idConnectAlso); BOOL Update2(const TInterface& pipeInterface,const AcDbObjectId& idCon1,const AcDbObjectId& idCon2); BOOL SetInterfaceRelation(const AcDbDatabase* pDb,const TInterface& pipeInterface,AcDbObjectId idCon2 = AcDbObjectId::kNull); void TranslateMoveOperationMsg(const TInterfaceModifyMsg& msg); void TranslateMoveOperationMsg(TDbInterfacesObj* pIObj,TInterface& pipeInterface); void TranslateMoveOperationMsg(TDbInterfacesObj* pIObj,const TInterfaceModifyMsg& msg); void TryGetPerpPipeToTeeConnect(TDbInterfacesObj* pIObj,TInterface& pipeInterface); }; #endif //_TINTERFACETRANSFORMBYMANAGER_H__