Files
envi-code/SourceCode/Code2026/PIDLineCmd/KTPIDPipeOper.h
T
2026-09-28 15:28:50 +08:00

41 lines
1.2 KiB
C++

#pragma once
#if _MSC_VER > 1000
#pragma once
#endif
#include "EarThwormDef.h"
class KTPIDPipeOper
{
public:
KTPIDPipeOper();
virtual ~KTPIDPipeOper();
//map--->param
static BOOL XData2PipeParam(PID::PIDPipeParam* pPidparam,AecDbObjXDataMap& objXData);
//param--->map
static BOOL PipeParam2XData(const PID::PIDPipeParam* pPidparam,AecDbObjXDataMap& objXData);
static BOOL ReadPIDParamFromModel(PID::PIDPipeParam* pPidparam);
static BOOL WritePIDParam2Model(PID::PIDPipeParam* pPidparam);
//根据ptGeNear投影到id上的点向两边偏移,断为两段,只处理line,和没有圆弧的不自交pline
// -----------+--+----------- -> ---------- -----------
static BOOL BreakLine(AcDbObjectId& id,AcGePoint3d& ptGeNearCen,double dHalfWidth);
//根据ptGeNear投影到id上的点向两边偏移,断为两段,只处理line,和没有圆弧的不自交pline
// -----------+--+----------- -> ---------- -----------
static BOOL BreakLine(AcDbEntity* pEnt,AcGePoint3d& ptGeNearCen,double dHalfWidth);
static BOOL WriteXData(AcDbEntity* pEnt,PID::PIDPipeParam* pPidparam);
static BOOL WriteXData(AcDbObjectId& id,PID::PIDPipeParam* pPidparam);
static BOOL ReadXData(AcDbEntity* pEnt,PID::PIDPipeParam* pPidparam);
static BOOL ReadXData(AcDbObjectId& id,PID::PIDPipeParam* pPidparam);
};