CFx SDK Documentation  2020SP3
DbBlockIterator.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 ODDBBLOCKITERATOR_H
28 #define ODDBBLOCKITERATOR_H
29 
30 #include "RxObject.h"
31 #include "OdArrayPreDef.h"
32 
33 class OdDbObjectId;
34 class OdDbFilter;
36 class OdDbBlockIterator;
41 
51 {
52 protected:
54 public:
56 
63  virtual void start() = 0;
64 
68  virtual OdDbObjectId next() = 0;
69 
73  virtual OdDbObjectId id() const = 0;
74 
81  virtual bool seek(
82  OdDbObjectId objectId) = 0;
83 
90  const OdDbBlockTableRecord* pBtr);
91 
100  const OdDbBlockTableRecord* pBtr,
101  const OdDbFilter* pFilter);
102 
112  const OdDbBlockTableRecord* pBtr,
113  const OdArray<OdSmartPtr<OdDbFilter> >& filters);
114 
115 };
128 {
129 protected:
131 public:
133 
146  virtual double estimatedHitFraction() const = 0;
147 
153  virtual bool accepts(
154  OdDbObjectId objectId) const = 0;
155 
168  virtual bool buffersForComposition() const;
169 
178  virtual void addToBuffer(
179  OdDbObjectId objectId);
180 };
181 
186 
187 
188 #endif // ODDBBLOCKITERATOR_H
189 
OdDbBlockIterator::id
virtual OdDbObjectId id() const =0
OdDbBlockIterator
Definition: DbBlockIterator.h:51
OdDbFilteredBlockIteratorPtr
OdSmartPtr< OdDbFilteredBlockIterator > OdDbFilteredBlockIteratorPtr
Definition: DbBlockIterator.h:185
OdRxObject
Definition: RxObject.h:564
OdDbObjectId
Definition: DbObjectId.h:99
OdArray
Definition: OdArray.h:591
OdDbFilter
Definition: DbFilter.h:54
OdDbBlockIterator::start
virtual void start()=0
OdDbBlockIterator::seek
virtual bool seek(OdDbObjectId objectId)=0
OdDbBlockIterator::newFilteredIterator
static OdDbBlockIteratorPtr newFilteredIterator(const OdDbBlockTableRecord *pBtr, const OdDbFilter *pFilter)
RxObject.h
OdArrayPreDef.h
OdSmartPtr
Definition: SmartPtr.h:58
OdDbFilteredBlockIterator::addToBuffer
virtual void addToBuffer(OdDbObjectId objectId)
OdDbFilteredBlockIterator::OdDbFilteredBlockIterator
OdDbFilteredBlockIterator()
Definition: DbBlockIterator.h:130
OdDbFilteredBlockIterator::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbFilteredBlockIterator)
OdDbBlockIterator::next
virtual OdDbObjectId next()=0
OdDbBlockIterator::newBlockIterator
static OdDbBlockIteratorPtr newBlockIterator(const OdDbBlockTableRecord *pBtr)
OdDbFilteredBlockIterator::buffersForComposition
virtual bool buffersForComposition() const
OdDbFilteredBlockIterator::accepts
virtual bool accepts(OdDbObjectId objectId) const =0
OdDbBlockIterator::newCompositeIterator
static OdDbBlockIteratorPtr newCompositeIterator(const OdDbBlockTableRecord *pBtr, const OdArray< OdSmartPtr< OdDbFilter > > &filters)
OdDbBlockIterator::OdDbBlockIterator
OdDbBlockIterator()
Definition: DbBlockIterator.h:53
OdDbBlockTableRecord
Definition: DbBlockTableRecord.h:57
OdDbBlockIterator::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbBlockIterator)
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdDbFilteredBlockIterator::estimatedHitFraction
virtual double estimatedHitFraction() const =0
OdDbBlockIteratorPtr
OdSmartPtr< OdDbBlockIterator > OdDbBlockIteratorPtr
Definition: DbBlockIterator.h:36
OdDbFilteredBlockIterator
Definition: DbBlockIterator.h:128