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

93 lines
2.5 KiB
C++

#pragma once
#include "AecDbEntityBase.h"
#include "AecDbObjXDataMap.h"
#include "AecComplexCurveDraw.h"
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class DLLIMPEXP AecDbInsulation : public AecDbEntityBase
{
public:
ACRX_DECLARE_MEMBERS(AecDbInsulation);
protected:
static Adesk::UInt32 kCurrentVersionNumber;
public:
AecDbInsulation(void);
~AecDbInsulation(void);
//保温层 0 左 1 右
void SetInsulation(const InsulData &data);
bool GetInsulation(InsulData &data) const;
//保温层面积 折算为平方
double GetInsulArea() const;
void SetInsulRegion(AcDbEntity *pRegnOrSurface);
AcDbRegion *GetInsulRegion() const;
AcDbSurface *GetInsulSurface() const;
//2D工艺视图
void GetDraw2dables(AecComplexCurve &draw2d) const;
void SetDraw2dables(const AecComplexCurve &draw2d);
bool GetStartPoint(AcGePoint3d& pt) const;
void SetStartPointO(const AcGePoint3d &pt);
bool GetEndPoint(AcGePoint3d &pt) const;
void SetEndPoint(const AcGePoint3d &pt);
public:
virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray &grips,
const double curViewUnitSize,
const int gripSize,
const AcGeVector3d &curViewDir,
const int bitflags) const;
virtual Acad::ErrorStatus copyFrom(const AcRxObject *pSrc);
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray &appData, const AcGeVector3d &offset, const int bitflags);
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d &xform);
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler *pFiler);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler *pFiler) const;
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler *pFiler);
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler *pFiler) const;
virtual void subList() const;
virtual bool GetBimInfoTip(CString &sInfoTip) const;
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const;
virtual const AecDbObjXDataMap *GetSpecialtyData() const;
virtual AecDbObjXDataMap *GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite);
protected:
AcDb3dSolid* GetInsulThickSolid(double dThick, AcDbRegion * pReg, bool bIsLineWall) const;
AcDb3dSolid* GetDraw3dSolid() const;
protected:
AecGripData *m_pGripAppData;//夹点
//AcDbRegion sat
Adesk::UIntPtr m_dwFileLength;
char* m_pszTxt;
//2D 序列化
AecComplexCurveDraw m_drawable2d;
//专业数据 --> InsulData
AecDbObjXDataMap m_mapSpecXData;
};