111 lines
2.7 KiB
C++
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 |