CFx SDK Documentation  2023 SP0
DbSymbolTable.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 
25 
26 
27 #ifndef _ODDBSYMBOLTABLE_INCLUDED
28 #define _ODDBSYMBOLTABLE_INCLUDED
29 
30 #include "TD_PackPush.h"
31 
32 #include "DbObject.h"
33 
36 
45 
46 
55 {
56 public:
60  OdDbObjectId existingRecId);
65 };
66 
67 
88 {
89 public:
91 
99 
115  const OdString& sName,
116  OdDb::OpenMode openMode,
117  bool getErasedRecord = false) const;
118 
130  const OdString& sName,
131  bool getErasedRecord = false) const;
132 
133 
144  virtual bool has( const OdString& sName ) const;
145 
156  virtual bool has( const OdDbObjectId& objectId ) const;
157 
158 
171  bool atBeginning = true,
172  bool skipDeleted = true) const;
173 
174 
192 
193 
195  OdDbDwgFiler* pFiler);
196 
197  virtual void dwgOutFields(
198  OdDbDwgFiler* pFiler) const;
199 
201  OdDbDxfFiler* pFiler);
202 
203  virtual void dxfOutFields(
204  OdDbDxfFiler* pFiler) const;
205 
206  virtual OdResult dxfIn(
207  OdDbDxfFiler* pFiler);
208 
209  virtual void dxfOut(
210  OdDbDxfFiler* pFiler) const;
211 
213  OdDbDxfFiler* pFiler);
214 
215  virtual void dxfOutFields_R12(
216  OdDbDxfFiler* pFiler) const;
217 };
218 
227 
228 
229 
230 class OdDbSymbolTableIteratorImpl;
231 
240 {
241 public:
243 
253  virtual void start(
254  bool atBeginning = true,
255  bool skipErased = true);
256 
260  virtual bool done() const;
261 
265  virtual OdDbObjectId getRecordId() const;
266 
277  OdDb::OpenMode openMode = OdDb::kForRead,
278  bool openErasedRecord = false) const;
279 
286  virtual void step(
287  bool forward = true,
288  bool skipErased = true);
289 
294  virtual void seek(
295  const OdDbObjectId& ObjectId);
296 
301  virtual void seek(
302  const OdDbSymbolTableRecord* pRecord);
303 
305 protected:
306  friend class OdDbSymbolTable;
307 
310  OdDbSymbolTableIteratorImpl* pImpl);
311 
312  OdDbSymbolTableIteratorImpl* m_pImpl;
313 };
314 
315 #include "TD_PackPop.h"
316 
317 #endif // _ODDBSYMBOLTABLE_INCLUDED
318 
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdSmartPtr< OdDbSymbolTable > OdDbSymbolTablePtr
OdSmartPtr< OdDbSymbolTableRecord > OdDbSymbolTableRecordPtr
Definition: DbSymbolTable.h:44
OdSmartPtr< OdDbSymbolTableIterator > OdDbSymbolTableIteratorPtr
Definition: DbSymbolTable.h:35
OdResult
Definition: OdResult.h:29
virtual bool has(const OdDbObjectId &objectId) const
virtual void dxfOut(OdDbDxfFiler *pFiler) const
virtual OdDbObjectId getAt(const OdString &sName, bool getErasedRecord=false) const
ODDB_DECLARE_MEMBERS(OdDbSymbolTable)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
virtual OdDbObjectId add(OdDbSymbolTableRecord *pRecord)
virtual OdDbSymbolTableRecordPtr getAt(const OdString &sName, OdDb::OpenMode openMode, bool getErasedRecord=false) const
virtual bool has(const OdString &sName) const
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
virtual OdDbSymbolTableIteratorPtr newIterator(bool atBeginning=true, bool skipDeleted=true) const
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
virtual void step(bool forward=true, bool skipErased=true)
OdDbSymbolTableIteratorImpl * m_pImpl
virtual OdDbSymbolTableRecordPtr getRecord(OdDb::OpenMode openMode=OdDb::kForRead, bool openErasedRecord=false) const
virtual bool done() const
virtual ~OdDbSymbolTableIterator()
virtual void seek(const OdDbObjectId &ObjectId)
OdDbSymbolTableIterator(OdDbSymbolTableIteratorImpl *pImpl)
virtual OdDbObjectId getRecordId() const
virtual void start(bool atBeginning=true, bool skipErased=true)
ODRX_DECLARE_MEMBERS(OdDbSymbolTableIterator)
virtual void seek(const OdDbSymbolTableRecord *pRecord)
OdDbObjectId existingRecordId() const
OdError_DuplicateRecordName(OdDbObjectId existingRecId)
OpenMode
Definition: DbObjectId.h:54
@ kForRead
Definition: DbObjectId.h:56