Files
envi-code/SourceCode/Code2026/CoreLibrary/AecDbDoubleMulStair.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

159 lines
3.4 KiB
C++

#include "stdafx.h"
#include "AecDbDoubleMulStair.h"
#include "AecDbXDrawPointer.h"
Adesk::UInt32 AecDbDoubleMulStair::kCurrentVersionNumber = 1;
ACRX_DXF_DEFINE_MEMBERS (AecDbDoubleMulStair, AecDbBaseStair,
AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent,
AcDbProxyEntity::kNoOperation | AcDbProxyEntity::kDisableProxyWarning,
AEC_DOUBLEMULSTAIR,
"AecDbDoubleMulStair"
"|Product Desc: shanghua earthworm app obj"
"|Company: shanghua inc"
"|WEB Address: www.shanghuasoft.com")
AecDbDoubleMulStair::AecDbDoubleMulStair(void)
{
}
AecDbDoubleMulStair::~AecDbDoubleMulStair(void)
{
}
Acad::ErrorStatus AecDbDoubleMulStair::dwgInFields(AcDbDwgFiler* pFiler)
{
AssertWriteEnabled();
//----- Read parent class information first.
Acad::ErrorStatus es = AecDbBaseStair::dwgInFields (pFiler) ;
if ( es != Acad::eOk )
return (es) ;
//----- Object version number needs to be read first
Adesk::UInt32 version =0 ;
if ( (es =pFiler->readUInt32 (&version)) != Acad::eOk )
return (es) ;
if ( version > AecDbDoubleMulStair::kCurrentVersionNumber )
return (Acad::eMakeMeProxy);
return pFiler->filerStatus();
}
Acad::ErrorStatus AecDbDoubleMulStair::dwgOutFields(AcDbDwgFiler* pFiler) const
{
assertReadEnabled();
//----- Save parent class information first.
Acad::ErrorStatus es = AecDbBaseStair::dwgOutFields (pFiler) ;
if ( es != Acad::eOk )
return (es) ;
//----- Object version number needs to be saved first
if ( (es =pFiler->writeUInt32 (AecDbDoubleMulStair::kCurrentVersionNumber)) != Acad::eOk )
return (es) ;
return pFiler->filerStatus();
}
Acad::ErrorStatus AecDbDoubleMulStair::dxfInFields(AcDbDxfFiler* pFiler)
{
return Acad::eOk;
}
Acad::ErrorStatus AecDbDoubleMulStair::dxfOutFields(AcDbDxfFiler* pFiler) const
{
return Acad::eOk;
}
void AecDbDoubleMulStair::subList() const
{
assertReadEnabled();
acutPrintf(_T("\n双分三跑楼梯"));
AecDbBaseStair::subList();
}
Acad::ErrorStatus AecDbDoubleMulStair::Draw2d(AcGiDraw &dc) const
{
assertReadEnabled();
if ( dc.IsDragging() )
{
//return Acad::eOk;
}
//图层
AcDbObjectId idLay = dc.GetLayerId();
dc.SetLayer(layerId());
int nCrBk = dc.GetColor();
int nColor = nCrBk;
if ( m_mapSpecXData.GetAt(_T("COLOR"),nColor) )
{
dc.SetColor(nColor);
}
if ( Draw2DBuffers(dc))
{
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
AecDbXDrawPointer aecDbXDraw(this,_T("AecDbDoubleMulStairDraw"));
aecDbXDraw.Draw2d(dc);
AcDbVoidPtrArray arEntPtrs;
dc.Get2dBuffer(arEntPtrs);
Add2DBuffer(arEntPtrs);
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
Acad::ErrorStatus AecDbDoubleMulStair::Draw3d(AcGiDraw &dc) const
{
assertReadEnabled();
if ( dc.IsDragging() )
{
//return Acad::eOk;
}
//图层
AcDbObjectId idLay = dc.GetLayerId();
dc.SetLayer(layerId());
int nCrBk = dc.GetColor();
int nColor = nCrBk;
if ( m_mapSpecXData.GetAt(_T("COLOR"),nColor) )
{
dc.SetColor(nColor);
}
if ( Draw3DBuffers(dc))
{
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
AecDbXDrawPointer aecDbXDraw(this,_T("AecDbDoubleMulStairDraw"));
aecDbXDraw.Draw3d(dc);
AcDbVoidPtrArray arEntPtrs;
dc.Get3dBuffer(arEntPtrs);
Add3DBuffer(arEntPtrs);
dc.SetLayer(idLay);
dc.SetColor(nCrBk);
return Acad::eOk;
}
CString AecDbDoubleMulStair::getUniqueName() const
{
return getUniqueNameBySFPXData();
}