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

81 lines
2.0 KiB
C++

#pragma once
#include "dbmain.h"
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
typedef struct FloorViewData
{
TCHAR m_szID[39];//唯一ID
TCHAR m_szName[65];//楼层名
TCHAR m_szFloorView[17];//楼层视图
TCHAR m_szFilePath[MAX_PATH];//为空时指当前文件名
Adesk::Int16 m_nFloorIndxFr;
Adesk::Int16 m_nFloorIndxTo;
Adesk::Int16 m_bFloorIndxTo;
Adesk::Int16 m_nFloorH;//层高
Adesk::Int16 m_nActive;//活动
}FloorViewData;
class DLLIMPEXP AecFloorViewDataRecord: public AcDbObject
{
public:
ACRX_DECLARE_MEMBERS(AecFloorViewDataRecord);
protected:
static Adesk::UInt32 kCurrentVersionNumber;
public:
AecFloorViewDataRecord();
virtual ~AecFloorViewDataRecord();
void SetProjectName(LPCTSTR pszName);
void GetProjectName(CString& sName) const;
void SetBomEl(double dBomEl);
double GetBomEl() const;
bool SetActive(int nIndex, Adesk::Int16 nActive);
bool SetActive(LPCTSTR pszName, Adesk::Int16 nActive);
Adesk::Int16 IsActive(int nIndex) const;
Adesk::Int32 GetActiveID(CString& sID) const;
void SetBasePoint(AcGePoint3d& ptBase);
void GetBasePoint(AcGePoint3d &ptBase) const;
void SetRem(LPCTSTR pszRem);
void GetRem(CString &sRem) const;
void SetFocusOn(bool bSetOn);
Adesk::Int16 IsFocusOn() const;
bool AddFloorViewRecord(FloorViewData& rc);
bool ModifyFloorViewRecord(const FloorViewData &rc);
bool RemoveFloorViewRecord(LPCTSTR pszName);
int FindFloorViewRecord(LPCTSTR pszName) const;
int GetCount() const;
bool GetFloorViewRecord(int nIndex, FloorViewData &rc) const;
bool GetFloorViewRecord(LPCTSTR pszName, FloorViewData &vData) const;
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler *filer);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler *filer) const;
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler *filer);
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler *filer) const;
protected:
CString m_sProName;
double m_dBomEl;
CString m_sRem;
AcGePoint3d m_ptBase;
Adesk::Int16 m_nFocusOn;
AcArray<FloorViewData> m_arDatas;
};