#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 &lstSpaces); }; #endif