Files
envi-code/SourceCode/Code2026/tg_shs/inc/geo/TAcDbLayerTableRecPtr.h
T

64 lines
1.3 KiB
C++
Raw Normal View History

2026-09-28 15:28:50 +08:00
//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TAcDbLayerTableRecPtr.h
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
// = Description: ÀàµÄÉùÃ÷
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TACDBLAYERTABLERECPTR_H_
#define _TACDBLAYERTABLERECPTR_H_
class GEOAPI TAcDbLayerTableRecPtr
{
public:
TAcDbLayerTableRecPtr(const TCHAR *pszLayer, AcDb::OpenMode opMode);
~TAcDbLayerTableRecPtr();
int operator !() ;
operator AcDbLayerTableRecord & ();
public:
AcDbLayerTableRecord *m_pLayer;
};
inline TAcDbLayerTableRecPtr::TAcDbLayerTableRecPtr(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 TAcDbLayerTableRecPtr::~TAcDbLayerTableRecPtr()
{
if (m_pLayer)
{
m_pLayer->close();
}
}
inline int TAcDbLayerTableRecPtr::operator !()
{
return !m_pLayer;
}
inline TAcDbLayerTableRecPtr::operator AcDbLayerTableRecord & ()
{
assert(m_pLayer);
return *m_pLayer;
}
#endif