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

111 lines
2.7 KiB
C++

#ifndef __AECSPACE_H
#define __AECSPACE_H
class XAecSpaceCell;
class TARCH_EXP TSpaceData {
public:
Adesk::UInt16 m_nEnFlag; //是否有顶,是否有底, 7.0已经留给节能用了,建筑中已经无用。
XPoint m_ptLocation;
XString m_sCode, m_sName;//注意:对于套房面积对象,m_sCode作为户号,m_sName作为户型编号!
double m_nUseArea, m_nOccuArea, m_nCeilArea, m_nWallSurfArea, m_nExtWallArea, m_nExtWinArea,m_nExtDoorArea; //Unit: m^2
double m_nHeight, m_nPerimeter, m_nKickboardLength; //Unit: 作图单位mm(简体)/cm(繁体)
XPoly2D m_outline;
public:
double GetElevation() const { //不进入OPM
return m_ptLocation.z;
}
// Get Property
//使用容积
double GetUseVolume() const {
return (m_nHeight/1000.0*m_nUseArea);
}
//编号
CString GetCode() const {
return (const TCHAR *)m_sCode;
}
Acad::ErrorStatus SetCode(const TCHAR *pszCode) {
m_sCode = pszCode;
return Acad::eOk;
}
//名称
CString GetName() const {
return (const TCHAR *)m_sName;
}
Acad::ErrorStatus SetName(const TCHAR *pszName) {
m_sName = pszName;
return Acad::eOk;
}
//使用面积
double GetUseArea() const {
return m_nUseArea;
}
//轴线面积
double GetOccuArea() const {
return m_nOccuArea;
}
/*
Acad::ErrorStatus SetOccuArea(double nArea) {
if(nArea<1.0E-6)
return Acad::eInvalidInput;
m_nOccuArea = nArea;
return Acad::eOk;
}
double GetCeilArea() const {
return m_nCeilArea;
}
Acad::ErrorStatus SetCeilArea(double nArea) {
if(nArea<1.0E-6)
return Acad::eInvalidInput;
m_nCeilArea = nArea;
return Acad::eOk;
}*/
//墙壁面积
double GetWallSurfArea() const {
return m_nWallSurfArea;
}
//外墙面积
double GetExtWallArea() const {
return m_nExtWallArea;
}
//外窗面积
double GetExtWinArea() const {
return m_nExtWinArea;
}
//外门面积
double GetExtDoorArea() const {
return m_nExtDoorArea;
}
//高度
double GetHeight() const {
return m_nHeight;
}
Acad::ErrorStatus SetHeight(double nH) {
if(nH<1.0E-6) return Acad::eInvalidInput;
m_nHeight = nH;
return Acad::eOk;
}
//周长
double GetPerimeter() const {
return m_nPerimeter;
}
//踢脚线长
double GetKickboard() const {
return m_nKickboardLength;
}
public:
TSpaceData();
TSpaceData(const TSpaceData &src) {
*this = src;
}
int operator !() const {
return !m_sCode;
}
TSpaceData & operator = (const TSpaceData &src);
static void GetAllSpaces(DList<TSpaceData> &lstSpaces);
};
#endif