93 lines
2.5 KiB
C++
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;
|
|
};
|
|
|