#pragma once #include "earthwormdef.h" class AecMInterfaces; class AecDbEcFitting; typedef struct AecInterfaceFrTo { AecInterface infFr; AecInterface infTo; }AECINTERFACEFRTO; typedef struct AcDbObjectIdNext { AcDbObjectId id; AcDbObjectIdNext* pNext; }ACDBOBJECTIDNEXT; typedef struct AcDbObjectIdInf { AcDbObjectId id; AecInterface infFr; AcGeVector3d vtMove;//是否有移动 AcDbObjectIdInf* pNext; }AcDbObjectIdInf; class AecPipeLineModify { public: AecPipeLineModify(void); ~AecPipeLineModify(void); void SetPipeParamOld(const AecHvac::DuctParam* pPipeParam); void SetPipeNetIds(AcDbObjectIdArray& arNetIds); bool ModifyPipeLineParam(AcDbObjectIdArray& arPipeIds,AcDbObjectIdArray& arFitIds,AcDbObjectIdArray& arEquIds, AecHvac::DuctParam& paramNew,BOOL bUpdateMat); bool AddjustTInfAssoc(); private: bool ModifyFitting(AecDbEcFitting* pFit,const AecHvac::DuctParam& paramNew); bool ModifyPipeOnParam(const AcDbObjectIdArray& arPipeIds,const AecHvac::DuctParam& paramNew); bool ModifyByInfAssoc(const AcArray& arFitEquOldInfs,AecMInterfaces* pFitEquMInfNew,const AecHvac::DuctParam& paramNew); void ModifyPipeOnNewInf(AecInterface& infOld,AecInterface& infTo); public: AecHvac::DuctParam m_paramOld; BOOL m_bTeeStop,m_bCrossStop; BOOL m_bUpdateMat; bool m_bElLock; AcDbObjectIdArray m_arNetIds; AcDbObjectIdArray m_arPipeIds; //关联的接口更改 AcArray m_arFrTo; };