CFx SDK Documentation  2023 SP0
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 
OdSmartPtr< OdDbBlockIterator > OdDbBlockIteratorPtr
OdSmartPtr< OdDbFilteredBlockIterator > OdDbFilteredBlockIteratorPtr
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
static OdDbBlockIteratorPtr newBlockIterator(const OdDbBlockTableRecord *pBtr)
static OdDbBlockIteratorPtr newFilteredIterator(const OdDbBlockTableRecord *pBtr, const OdDbFilter *pFilter)
virtual bool seek(OdDbObjectId objectId)=0
virtual void start()=0
static OdDbBlockIteratorPtr newCompositeIterator(const OdDbBlockTableRecord *pBtr, const OdArray< OdSmartPtr< OdDbFilter > > &filters)
virtual OdDbObjectId next()=0
virtual OdDbObjectId id() const =0
ODRX_DECLARE_MEMBERS(OdDbBlockIterator)
ODRX_DECLARE_MEMBERS(OdDbFilteredBlockIterator)
virtual void addToBuffer(OdDbObjectId objectId)
virtual double estimatedHitFraction() const =0
virtual bool buffersForComposition() const
virtual bool accepts(OdDbObjectId objectId) const =0