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

51 lines
902 B
C++

#pragma once
class SHAcDbLayerTableRecPtr
{
public:
SHAcDbLayerTableRecPtr(const TCHAR *pszLayer, AcDb::OpenMode opMode);
~SHAcDbLayerTableRecPtr();
int operator !() ;
operator AcDbLayerTableRecord & ();
public:
AcDbLayerTableRecord *m_pLayer;
};
inline SHAcDbLayerTableRecPtr::SHAcDbLayerTableRecPtr(const TCHAR *pszLayer, AcDb::OpenMode opMode)
: m_pLayer(NULL)
{
AcDbLayerTable *pLayerTable;
Acad::ErrorStatus es = acdbCurDwg()->getLayerTable(pLayerTable, AcDb::kForRead);
if (es != Acad::eOk)
{
return;
}
es = pLayerTable->getAt(pszLayer, m_pLayer, opMode);
pLayerTable->close();
}
inline SHAcDbLayerTableRecPtr::~SHAcDbLayerTableRecPtr()
{
if (m_pLayer)
{
m_pLayer->close();
}
}
inline int SHAcDbLayerTableRecPtr::operator !()
{
return !m_pLayer;
}
inline SHAcDbLayerTableRecPtr::operator AcDbLayerTableRecord & ()
{
assert(m_pLayer);
return *m_pLayer;
}