Files
envi-code/SourceCode/Code2026/PipelineCmd/AecPipeLineModify.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

86 lines
2.8 KiB
C++

#pragma once
class AecDbEwFitting;
class CUIISQLiteServer;
class AecDbEwEquipment;
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 SetADOServer(CUIISQLiteServer* pADOServer);
void SetPipeParamOld(const WPipe::PipeParam* pPipeParam);
void SetPipeNetIds(AcDbObjectIdArray& arNetIds);
bool ModifyPipeLineParam(AcDbObjectIdArray& arPipeIds,AcDbObjectIdArray& arFitIds,AcDbObjectIdArray& arEquIds,WPipe::PipeParam& paramNew,BOOL bUpdateMat);
bool AddjustTInfAssoc();
private:
bool ModifyFitting(AecDbEwFitting* pFit,const WPipe::PipeParam& paramNew);
bool ModifyPipeOnParam(const AcDbObjectIdArray& arPipeIds,const WPipe::PipeParam& paramNew);
bool ModifyByInfAssoc(const AcArray<AecInterface>& arFitEquOldInfs,AecMInterfaces* pFitEquMInfNew,const WPipe::PipeParam& paramNew);
CPoint PickAssocEqu(AcArray<AecInterface>& arInfs,AcDbObjectIdArray& arEquIds,AcArray<AcDbObjectIdInf>& arAssEquIds);
CPoint PickAssocFlange(AcArray<AecInterface>& arInfs,AcDbObjectIdArray& arFitIds,int iPos,AcArray<AcDbObjectIdInf>& arAssFlgs);
void MakeEquListStartByEqu(AcArray<AcDbObjectIdInf>& arAssEquIds,AcDbObjectIdArray& arEquIds);
void MakeEquListStartByFlang(AcArray<AcDbObjectIdInf>& arAssFlgs,AcDbObjectIdArray& arEquIds,AcDbObjectIdArray& arFlangIds);
void MakeEquListTheRest(AcDbObjectIdArray& arEquIds,AcDbObjectIdArray& arFlangIds,AcArray<AcDbObjectIdInf>& arIdInf);
bool ModifyPipeLineParamSys(AcDbObjectIdArray &arIds, WPipe::PipeParam &paramNew);
//沿着list修改阀门
void ModifyEquAlongList(AcArray<AcDbObjectIdInf>& arAssEquIds,const WPipe::PipeParam& paramNe);
void ModifyEquAlongList(AecInterface& infOld,AecInterface& infNewTo,AcDbObjectIdInf* pNext,const WPipe::PipeParam& paramNew);
void ModifyPipeOnNewInf(AecInterface& infOld,AecInterface& infTo);
private:
AecDbEwEquipment* CreateNewValve(AecDbEwEquipment* pEqu,const WPipe::PipeParam& paramNew);
AecDbEwFitting* CreateNewFlang(AecDbEwFitting* pFitFr,const WPipe::PipeParam& paramNew);
AecDbEwEquipment* getEquiment(
AecDbEwEquipment *pOldEqu
, const WPipe::PipeParam &paramNew
, bool &bHasFangle
, AecEqui::ValveType val
, LPCTSTR psz = NULL
, LPCTSTR pszFolder = NULL);
public:
WPipe::PipeParam m_paramOld;
BOOL m_bTeeStop,m_bCrossStop;
BOOL m_bUpdateMat;
AcDbObjectIdArray m_arNetIds;
AcDbObjectIdArray m_arPipeIds;
CUIISQLiteServer* m_pADOServer;
//关联的接口更改
AcArray<AecInterfaceFrTo> m_arFrTo;
};