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

90 lines
2.5 KiB
C++

#pragma once
#include "AecDbEntityBase.h"
#include "AecDbObjXDataMap.h"
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class DLLIMPEXP AcDbXFloorFrame : public AecDbEntityBase
{
public:
ACRX_DECLARE_MEMBERS(AcDbXFloorFrame);
protected:
static Adesk::UInt32 kCurrentVersionNumber;
public:
AcDbXFloorFrame(void);
~AcDbXFloorFrame(void);
bool SetFloorFrame(LPCTSTR pszFloor, const AcGePoint3d &pt1, const AcGePoint3d &pt2, const AcGePoint3d &ptAg);
bool GetFloorFrame(CString& sFloor, AcGePoint3d &pt1, AcGePoint3d &pt2, AcGePoint3d &ptAg) const;
bool SetFloorViewName(LPCTSTR pszViewName);
bool GetFloorViewName(CString& sViewName) const;
bool SetFloorName(LPCTSTR pszName);
bool GetFloorName(CString &sName) const;
bool SetFloorHeight(Adesk::Int16 nHeight);
Adesk::Int16 GetFloorHeight() const;
bool AddHandle(LPCTSTR szHd);
bool GetHandles(CStringArray &arHds) const;
bool GetHandles(AcDbObjectIdArray &arIds) const;
bool RemoveAll();
public:
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 Acad::ErrorStatus copyFrom(const AcRxObject *pSrc);
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d &xform);
#if ARX>16
virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray &grips,
const double curViewUnitSize,
const int gripSize,
const AcGeVector3d &curViewDir,
const int bitflags) const;
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray &appData, const AcGeVector3d &offset, const int bitflags);
virtual Acad::ErrorStatus subGetGeomExtents(AcDbExtents &extents) const;
#endif
//AEC 派生
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const;
public:
//专业数据 和 绘制设置
AecDbObjXDataMap *GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite);
virtual const AecDbObjXDataMap *GetSpecialtyData() const;
protected:
TCHAR m_szFloorNo[17];//2-15 3 5 ...
AcGePoint3d m_ptLB;
AcGePoint3d m_ptRT;
AcGePoint3d m_ptAg;
TCHAR m_szFloorName[33]; //视图名称
TCHAR m_szName[65]; //
Adesk::Int16 m_nFloorH;
CStringArray m_arHds;
public:
AecGripData *m_pGripAppData; //夹点
};