CFx SDK Documentation  2022 SP0
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 
OdSmartPtr< OdResBuf > OdResBufPtr
Definition: DbDatabase.h:99
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdSmartPtr< OdDbSelectionSetIterator > OdDbSelectionSetIteratorPtr
Definition: DbSSet.h:108
OdSmartPtr< OdDbParametrizedSF > OdDbParametrizedSFPtr
Definition: DbSSet.h:59
OdSmartPtr< OdDbSelectionSet > OdDbSelectionSetPtr
Definition: DbSSet.h:113
OdSmartPtr< OdDbSelectionFilter > OdDbSelectionFilterPtr
Definition: DbSSet.h:56
unsigned int OdUInt32
#define ODRX_ABSTRACT
virtual OdResBufPtr specification() const
Definition: DbSSet.h:75
virtual void setSpecification(const OdResBuf *, const OdDbDatabase *=0)
Definition: DbSSet.h:74
static OdDbParametrizedSFPtr createObject(const OdResBuf *pSpec, const OdDbDatabase *pDb)
virtual const OdDbDatabase * database() const
Definition: DbSSet.h:76
virtual bool accept(const OdDbObjectId &entityId) const =0
ODRX_DECLARE_MEMBERS(OdDbSelectionFilter)
ODRX_DECLARE_MEMBERS(OdDbSelectionSet)
TD_USING(OdSelectionSet::isMember)
virtual bool isMember(const OdDbObjectId &entityId) const =0
static OdDbSelectionSetPtr createObject(const OdDbDatabase *pDb)
virtual bool getSubentity(const OdDbObjectId &entityId, OdUInt32 i, OdDbFullSubentPath &path) const =0
virtual void remove(const OdDbFullSubentPath &subent)=0
virtual OdDbObjectIdArray objectIdArray() const =0
TD_USING(OdSelectionSet::remove)
virtual void remove(const OdSelectionSet *pSSet)
virtual OdUInt32 subentCount(const OdDbObjectId &entityId) const =0
virtual void remove(const OdDbObjectIdArray &entityIds)
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)
static OdDbSelectionSetPtr select(const OdDbDatabase *pDb, const OdRxObject *pFilter=0)
virtual const OdDbDatabase * database() const =0
virtual OdDbSelectionMethodPtr method(const OdDbObjectId &entityId) const =0
virtual bool isMember(const OdDbFullSubentPath &subent) const =0
virtual void append(const OdDbObjectIdArray &entityIds, OdDbSelectionMethod *pMethod=0)
TD_USING(OdSelectionSet::append)
virtual void append(const OdDbFullSubentPath &subent, OdDbSelectionMethod *pMethod=0)=0
virtual OdDbSelectionMethodPtr method(const OdDbFullSubentPath &subent) const =0
virtual void append(const OdDbObjectId &entityId, OdDbSelectionMethod *pMethod=0)=0
virtual void append(const OdSelectionSet *pSSet)
virtual void remove(const OdDbObjectId &entityId)=0
TD_USING(OdSelectionSet::method)
ODRX_DECLARE_MEMBERS(OdDbSelectionSetIterator)
virtual OdDbObjectId objectId() const =0
virtual void remove(OdDbStub *entityId)=0
virtual bool isMember(OdDbStub *entityId) const =0
virtual void append(OdDbStub *entityId, OdDbSelectionMethod *pMethod=0)=0
virtual OdDbSelectionMethodPtr method(OdDbStub *entityId) const =0