CFx SDK Documentation  2020SP3
DbSSet.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 #ifndef _DBSSET_H_
26 #define _DBSSET_H_
27 
28 #include "Ge/GePoint3d.h"
29 #include "DbDatabase.h"
30 #include "DbObjectId.h"
31 #include "DbObject.h"
32 #include "DbObjectIterator.h"
33 #include "ResBuf.h"
34 #include "DbSubentId.h"
35 #include "SSet.h"
36 
37 //class OdDbSelectionSet;
38 //class OdDbBlockTableRecord;
39 
40 
47 {
48 protected:
50 public:
52 
53  virtual bool accept(const OdDbObjectId& entityId) const = 0;
54 };
55 
57 
58 
59 class OdDbParametrizedSF;
61 
68 {
69 protected:
71 public:
72  static OdDbParametrizedSFPtr createObject(const OdResBuf* pSpec, const OdDbDatabase* pDb);
73 
74  virtual void setSpecification(const OdResBuf* /*pSpec*/, const OdDbDatabase* /*pDb*/ = 0) {}
75  virtual OdResBufPtr specification() const { return OdResBufPtr(); }
76  virtual const OdDbDatabase* database() const { return 0; }
77 };
78 
79 
89 //class ODRX_ABSTRACT TOOLKIT_EXPORT OdDbSelectionSetIterator : public OdRxObject
91 {
92 public:
94 
99  virtual OdDbObjectId objectId() const = 0;
100 
101 protected:
103 };
104 
109 
114 
125 {
126 protected:
128 public:
130 
138 
139  virtual const OdDbDatabase* database() const = 0;
140 
144  //virtual OdSelectionSetIteratorPtr newIterator() const = 0;
145 
146  virtual OdDbObjectIdArray objectIdArray() const = 0;
147 
148  // operations on the selection set
149 
156  static OdDbSelectionSetPtr select(const OdDbDatabase *pDb, const OdRxObject* pFilter = 0);
157 
168  const OdDbObjectId& vpId,
169  int nPoints,
170  const OdGePoint3d* wcsPts,
173  const OdRxObject* pFilter = 0);
174 
178  //virtual OdUInt32 numEntities() const = 0;
179 
187  //virtual void append(OdDbStub* entityId, OdDbSelectionMethod* pMethod = 0) = 0;
188 
189  virtual void append(const OdDbObjectId& entityId, OdDbSelectionMethod* pMethod = 0) = 0;
190 
197  virtual void append(const OdDbObjectIdArray& entityIds, OdDbSelectionMethod* pMethod = 0);
198 
199 
200  //virtual void append(const OdDbBaseFullSubentPath& subent, OdDbSelectionMethod* pMethod = 0) = 0;
201 
208  virtual void append(const OdDbFullSubentPath& subent, OdDbSelectionMethod* pMethod = 0) = 0;
209 
215  virtual void append(const OdSelectionSet* pSSet);
216 
223  //virtual void remove(OdDbStub* entityId) = 0;
224 
230  virtual void remove(const OdDbObjectId& entityId) = 0;
231 
237  virtual void remove(const OdDbObjectIdArray& entityIds);
238 
239 
240  //virtual void remove(const OdDbBaseFullSubentPath& subent) = 0;
241 
247  virtual void remove(const OdDbFullSubentPath& subent) = 0;
248 
254  virtual void remove(const OdSelectionSet* pSSet);
255 
262  //virtual bool isMember(OdDbStub* entityId) const = 0;
263 
269  virtual bool isMember(const OdDbObjectId& entityId) const = 0;
270 
271 
272  //virtual bool isMember(const OdDbBaseFullSubentPath& subent) const = 0;
273 
279  virtual bool isMember(const OdDbFullSubentPath& subent) const = 0;
280 
282  //virtual OdDbSelectionMethodPtr method(OdDbStub* entityId) const = 0;
283 
289  virtual OdDbSelectionMethodPtr method(const OdDbObjectId& entityId) const = 0;
290 
299  virtual OdUInt32 subentCount(const OdDbObjectId& entityId) const = 0;
300 
311  virtual bool getSubentity(const OdDbObjectId& entityId, OdUInt32 i, OdDbFullSubentPath& path) const = 0;
312 
316  virtual OdDbSelectionMethodPtr method(const OdDbFullSubentPath& subent) const = 0;
317 };
318 
319 #endif //_DBSSET_H_
320 
OdDbDatabase
Definition: DbDatabase.h:421
SSet.h
OdDbSelectionSet::isMember
virtual bool isMember(const OdDbFullSubentPath &subent) const =0
OdDbParametrizedSF::specification
virtual OdResBufPtr specification() const
Definition: DbSSet.h:75
OdDbSelectionSet::remove
virtual void remove(const OdDbFullSubentPath &subent)=0
OdDbSelectionSetPtr
OdSmartPtr< OdDbSelectionSet > OdDbSelectionSetPtr
Definition: DbSSet.h:113
OdDbParametrizedSF
Definition: DbSSet.h:68
DbObject.h
OdDbSelectionSet::select
static OdDbSelectionSetPtr select(const OdDbObjectId &vpId, int nPoints, const OdGePoint3d *wcsPts, OdDbVisualSelection::Mode mode=OdDbVisualSelection::kCrossing, OdDbVisualSelection::SubentSelectionMode sm=OdDbVisualSelection::kDisableSubents, const OdRxObject *pFilter=0)
OdResBuf
Definition: ResBuf.h:112
OdDbParametrizedSF::createObject
static OdDbParametrizedSFPtr createObject(const OdResBuf *pSpec, const OdDbDatabase *pDb)
OdDbSelectionFilterPtr
OdSmartPtr< OdDbSelectionFilter > OdDbSelectionFilterPtr
Definition: DbSSet.h:56
OdRxObject
Definition: RxObject.h:564
OdDbObjectId
Definition: DbObjectId.h:99
OdDbSelectionSetIterator::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbSelectionSetIterator)
OdDbFullSubentPath
Definition: DbSubentId.h:49
OdArray< OdDbObjectId, OdMemoryAllocator< OdDbObjectId > >
OdSelectionSet::append
virtual void append(OdDbStub *entityId, OdDbSelectionMethod *pMethod=0)=0
OdDbVisualSelection::kCrossing
@ kCrossing
Definition: SSet.h:66
OdDbSelectionSetIterator
Definition: DbSSet.h:91
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdDbSelectionFilter::OdDbSelectionFilter
OdDbSelectionFilter()
OdDbSelectionSet::remove
virtual void remove(const OdDbObjectIdArray &entityIds)
OdSelectionSet::remove
virtual void remove(OdDbStub *entityId)=0
OdDbSelectionSet::getSubentity
virtual bool getSubentity(const OdDbObjectId &entityId, OdUInt32 i, OdDbFullSubentPath &path) const =0
OdDbSelectionSet::append
virtual void append(const OdSelectionSet *pSSet)
OdDbSelectionSet::append
virtual void append(const OdDbObjectId &entityId, OdDbSelectionMethod *pMethod=0)=0
OdResBufPtr
OdSmartPtr< OdResBuf > OdResBufPtr
Definition: DbDatabase.h:99
OdSmartPtr
Definition: SmartPtr.h:58
OdGePoint3d
Definition: GePoint3d.h:55
OdDbParametrizedSF::setSpecification
virtual void setSpecification(const OdResBuf *, const OdDbDatabase *=0)
Definition: DbSSet.h:74
OdDbParametrizedSF::database
virtual const OdDbDatabase * database() const
Definition: DbSSet.h:76
DbDatabase.h
GePoint3d.h
OdDbSelectionSet::append
virtual void append(const OdDbObjectIdArray &entityIds, OdDbSelectionMethod *pMethod=0)
OdDbSelectionSet::method
virtual OdDbSelectionMethodPtr method(const OdDbObjectId &entityId) const =0
OdDbSelectionSet::remove
virtual void remove(const OdSelectionSet *pSSet)
DbObjectId.h
OdDbSelectionSet::TD_USING
TD_USING(OdSelectionSet::remove)
OdDbSelectionSet::isMember
virtual bool isMember(const OdDbObjectId &entityId) const =0
OdDbParametrizedSFPtr
OdSmartPtr< OdDbParametrizedSF > OdDbParametrizedSFPtr
Definition: DbSSet.h:59
OdDbSelectionFilter::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbSelectionFilter)
OdDbSelectionSet::OdDbSelectionSet
OdDbSelectionSet()
OdDbSelectionSet::remove
virtual void remove(const OdDbObjectId &entityId)=0
OdDbSelectionSetIterator::objectId
virtual OdDbObjectId objectId() const =0
OdDbSelectionSet::subentCount
virtual OdUInt32 subentCount(const OdDbObjectId &entityId) const =0
OdDbSelectionSetIteratorPtr
OdSmartPtr< OdDbSelectionSetIterator > OdDbSelectionSetIteratorPtr
Definition: DbSSet.h:108
OdDbSelectionSet::createObject
static OdDbSelectionSetPtr createObject(const OdDbDatabase *pDb)
OdSelectionSet::isMember
virtual bool isMember(OdDbStub *entityId) const =0
OdSelectionSet
Definition: SSet.h:165
ODRX_ABSTRACT
#define ODRX_ABSTRACT
Definition: OdPlatformSettings.h:117
OdSelectionSet::method
virtual OdDbSelectionMethodPtr method(OdDbStub *entityId) const =0
OdDbSelectionFilter
Definition: DbSSet.h:47
OdDbSelectionSet::objectIdArray
virtual OdDbObjectIdArray objectIdArray() const =0
OdDbSelectionSet::TD_USING
TD_USING(OdSelectionSet::method)
OdDbVisualSelection::SubentSelectionMode
SubentSelectionMode
Definition: SSet.h:73
OdDbSelectionFilter::accept
virtual bool accept(const OdDbObjectId &entityId) const =0
OdDbSelectionSet::TD_USING
TD_USING(OdSelectionSet::isMember)
OdDbSelectionSet::select
static OdDbSelectionSetPtr select(const OdDbDatabase *pDb, const OdRxObject *pFilter=0)
OdDbSelectionMethod
Definition: SSet.h:39
OdDbSelectionSet::database
virtual const OdDbDatabase * database() const =0
DbObjectIterator.h
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdSelectionSetIterator
Definition: SSet.h:96
OdDbSelectionSet
Definition: DbSSet.h:125
ResBuf.h
OdDbSelectionSet::append
virtual void append(const OdDbFullSubentPath &subent, OdDbSelectionMethod *pMethod=0)=0
OdDbSelectionSetIterator::OdDbSelectionSetIterator
OdDbSelectionSetIterator()
OdDbSelectionSet::method
virtual OdDbSelectionMethodPtr method(const OdDbFullSubentPath &subent) const =0
DbSubentId.h
OdDbSelectionSet::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbSelectionSet)
OdDbVisualSelection::Mode
Mode
Definition: SSet.h:62
OdDbVisualSelection::kDisableSubents
@ kDisableSubents
Definition: SSet.h:74
OdDbSelectionSet::TD_USING
TD_USING(OdSelectionSet::append)
OdDbParametrizedSF::OdDbParametrizedSF
OdDbParametrizedSF()