48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#include "stdafx.h"
|
|
#include "TAecSpaceCell.h"
|
|
|
|
|
|
TSpaceData::TSpaceData()
|
|
{
|
|
m_nHeight=CFG_LHeight;
|
|
}
|
|
|
|
TSpaceData & TSpaceData::operator = (const TSpaceData &src)
|
|
{
|
|
m_sCode=src.m_sCode;
|
|
m_sName=src.m_sName;
|
|
m_nUseArea=src.m_nUseArea;
|
|
m_nOccuArea=src.m_nOccuArea;
|
|
m_nCeilArea=src.m_nCeilArea;
|
|
m_nWallSurfArea=src.m_nWallSurfArea; //Unit: m^2
|
|
m_nExtWallArea = src.m_nExtWallArea;
|
|
m_nExtWinArea = src.m_nExtWinArea;
|
|
m_nExtDoorArea = src.m_nExtDoorArea;
|
|
m_nHeight=src.m_nHeight;
|
|
m_nPerimeter=src.m_nPerimeter;
|
|
m_nKickboardLength=src.m_nKickboardLength; //Unit: 作图单位mm(简体)/cm(繁体)
|
|
|
|
m_ptLocation = src.m_ptLocation;
|
|
m_nEnFlag = src.m_nEnFlag;
|
|
return *this;
|
|
}
|
|
|
|
|
|
//////////////////////////////////////////////////////////
|
|
// 全局函数: 得到所有的房间
|
|
void TSpaceData::GetAllSpaces(DList<TSpaceData> &lstSpaces)
|
|
{
|
|
PickSet ssSpaces(SS_FREE);
|
|
RBList spaceMask(RTDXF0, _T("ATS_SPACE"), NULL);
|
|
ssSpaces.Get(_T("X"), NULL, NULL, spaceMask);
|
|
|
|
long lCount = ssSpaces.Length();
|
|
for(long i=0L; i<lCount; i++) {
|
|
Entity e=ssSpaces[i];
|
|
XDbObject obj(e, AcDb::kForRead);
|
|
if(!obj) continue;
|
|
TDbSpace *pSpace = TDbSpace::cast(obj.m_pObject);
|
|
ASSERT(pSpace);
|
|
lstSpaces.Append(new TSpaceData(*pSpace));
|
|
}
|
|
} |