CFx SDK Documentation  2022 SP0
SSet.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 _SSET_H_
26 #define _SSET_H_
27 
28 #include "OdPlatform.h"
29 
30 #include "Ge/GePoint3d.h"
31 #include "DbBaseSubentId.h"
32 
39 {
40 protected:
42 public:
44 };
45 
47 
48 class OdGiViewport;
49 
55 {
56 protected:
58 public:
60 
61  enum Mode
62  {
63  kPoint = 0,
64  kBox = 1,
65  kWindow = 2,
66  kCrossing = 3,
67  kFence = 4,
68  kWPoly = 5,
69  kCPoly = 6
70  };
71 
73  {
74  kDisableSubents = 0,
75  kEnableSubents = 1
76  };
77 
78  virtual OdDbStub* viewport() const = 0;
79  virtual OdGePoint3dArray points() const = 0;
80  virtual Mode mode() const = 0;
81 };
82 
84 
85 
96 {
97 public:
99 
100  virtual OdDbSelectionMethodPtr method() const = 0;
101 
105  virtual bool done() const = 0;
106 
113  virtual bool next() = 0;
114 
122  virtual OdUInt32 subentCount() = 0;
123 
133  virtual bool getSubentity(OdUInt32 i, OdDbBaseFullSubentPath& path) = 0;
134 
139  virtual OdDbStub* id() const = 0;
140 
141 protected:
143 };
144 
149 
154 
165 {
166 protected:
168 public:
170 
171  virtual const OdRxObject* baseDatabase() const = 0;
172 
177 
178  // operations on the selection set
179 
183  virtual OdUInt32 numEntities() const = 0;
184 
191  virtual void append(OdDbStub* entityId, OdDbSelectionMethod* pMethod = 0) = 0;
192 
198  virtual void append(const OdDbBaseFullSubentPath& subent, OdDbSelectionMethod* pMethod = 0) = 0;
199 
205  virtual void append(const OdSelectionSet* pSSet) = 0;
206 
212  virtual void remove(OdDbStub* entityId) = 0;
213 
219  virtual void remove(const OdDbBaseFullSubentPath& subent) = 0;
220 
226  virtual void remove(const OdSelectionSet* pSSet) = 0;
227 
233  virtual bool isMember(OdDbStub* entityId) const = 0;
234 
240  virtual bool isMember(const OdDbBaseFullSubentPath& subent) const = 0;
241 
242  virtual OdDbSelectionMethodPtr method(OdDbStub* entityId) const = 0;
243 
247  virtual void clear() = 0;
248 };
249 
250 #endif //_SSET_H_
unsigned int OdUInt32
#define ODRX_ABSTRACT
#define FIRSTDLL_EXPORT
Definition: RootExport.h:39
OdSmartPtr< OdDbVisualSelection > OdDbVisualSelectionPtr
Definition: SSet.h:83
OdSmartPtr< OdSelectionSetIterator > OdSelectionSetIteratorPtr
Definition: SSet.h:148
OdSmartPtr< class OdSelectionSet > OdSelectionSetPtr
Definition: SSet.h:153
OdSmartPtr< OdDbSelectionMethod > OdDbSelectionMethodPtr
Definition: SSet.h:46
ODRX_DECLARE_MEMBERS(OdDbSelectionMethod)
virtual OdDbStub * viewport() const =0
virtual OdGePoint3dArray points() const =0
virtual Mode mode() const =0
ODRX_DECLARE_MEMBERS(OdDbVisualSelection)
virtual void remove(OdDbStub *entityId)=0
virtual void append(const OdDbBaseFullSubentPath &subent, OdDbSelectionMethod *pMethod=0)=0
virtual bool isMember(OdDbStub *entityId) const =0
virtual void remove(const OdDbBaseFullSubentPath &subent)=0
virtual const OdRxObject * baseDatabase() const =0
virtual OdUInt32 numEntities() const =0
virtual OdSelectionSetIteratorPtr newIterator() const =0
virtual void append(OdDbStub *entityId, OdDbSelectionMethod *pMethod=0)=0
ODRX_DECLARE_MEMBERS(OdSelectionSet)
virtual OdDbSelectionMethodPtr method(OdDbStub *entityId) const =0
virtual bool isMember(const OdDbBaseFullSubentPath &subent) const =0
virtual void remove(const OdSelectionSet *pSSet)=0
virtual void append(const OdSelectionSet *pSSet)=0
virtual void clear()=0
ODRX_DECLARE_MEMBERS(OdSelectionSetIterator)
virtual bool next()=0
virtual OdDbSelectionMethodPtr method() const =0
virtual OdDbStub * id() const =0
virtual bool done() const =0
virtual OdUInt32 subentCount()=0
virtual bool getSubentity(OdUInt32 i, OdDbBaseFullSubentPath &path)=0
@ kBox
Definition: AveDefs.h:119
@ kCrossing
Definition: DbTableStyle.h:70