CFx SDK Documentation  2020SP3
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_
FIRSTDLL_EXPORT
#define FIRSTDLL_EXPORT
Definition: RootExport.h:39
OdSelectionSetIterator::next
virtual bool next()=0
OdDbVisualSelection::mode
virtual Mode mode() const =0
OdDbSelectionMethodPtr
OdSmartPtr< OdDbSelectionMethod > OdDbSelectionMethodPtr
Definition: SSet.h:46
OdSelectionSetIterator::method
virtual OdDbSelectionMethodPtr method() const =0
OdPlatform.h
OdDbBaseFullSubentPath
Definition: DbBaseSubentId.h:172
OdGiViewport
Definition: GiViewport.h:51
OdRxObject
Definition: RxObject.h:564
OdSelectionSetPtr
OdSmartPtr< class OdSelectionSet > OdSelectionSetPtr
Definition: SSet.h:153
OdDbVisualSelection
Definition: SSet.h:55
OdSelectionSetIterator::subentCount
virtual OdUInt32 subentCount()=0
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > >
OdSelectionSet::append
virtual void append(OdDbStub *entityId, OdDbSelectionMethod *pMethod=0)=0
OdDb::kCrossing
@ kCrossing
Definition: DbTableStyle.h:70
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdSelectionSet::OdSelectionSet
OdSelectionSet()
OdSelectionSet::isMember
virtual bool isMember(const OdDbBaseFullSubentPath &subent) const =0
OdSelectionSetIterator::OdSelectionSetIterator
OdSelectionSetIterator()
OdSelectionSet::remove
virtual void remove(OdDbStub *entityId)=0
OdDbVisualSelection::viewport
virtual OdDbStub * viewport() const =0
OdSelectionSet::remove
virtual void remove(const OdDbBaseFullSubentPath &subent)=0
OdDbVisualSelectionPtr
OdSmartPtr< OdDbVisualSelection > OdDbVisualSelectionPtr
Definition: SSet.h:83
OdSelectionSet::append
virtual void append(const OdDbBaseFullSubentPath &subent, OdDbSelectionMethod *pMethod=0)=0
OdSelectionSet::newIterator
virtual OdSelectionSetIteratorPtr newIterator() const =0
OdSmartPtr
Definition: SmartPtr.h:58
OdDbVisualSelection::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbVisualSelection)
OdSelectionSet::numEntities
virtual OdUInt32 numEntities() const =0
GePoint3d.h
OdSelectionSet::append
virtual void append(const OdSelectionSet *pSSet)=0
OdSelectionSetIterator::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdSelectionSetIterator)
OdDbVisualSelection::OdDbVisualSelection
OdDbVisualSelection()
OdSelectionSet::remove
virtual void remove(const OdSelectionSet *pSSet)=0
OdDbSelectionMethod::OdDbSelectionMethod
OdDbSelectionMethod()
DbBaseSubentId.h
OdSelectionSet::isMember
virtual bool isMember(OdDbStub *entityId) const =0
OdSelectionSet
Definition: SSet.h:165
ODRX_ABSTRACT
#define ODRX_ABSTRACT
Definition: OdPlatformSettings.h:117
OdSelectionSet::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdSelectionSet)
OdSelectionSet::method
virtual OdDbSelectionMethodPtr method(OdDbStub *entityId) const =0
OdSelectionSet::clear
virtual void clear()=0
OdSelectionSetIterator::done
virtual bool done() const =0
OdSelectionSetIterator::getSubentity
virtual bool getSubentity(OdUInt32 i, OdDbBaseFullSubentPath &path)=0
OdDbVisualSelection::SubentSelectionMode
SubentSelectionMode
Definition: SSet.h:73
OdSelectionSetIteratorPtr
OdSmartPtr< OdSelectionSetIterator > OdSelectionSetIteratorPtr
Definition: SSet.h:148
OdDbSelectionMethod
Definition: SSet.h:39
OdSelectionSetIterator
Definition: SSet.h:96
OdDbSelectionMethod::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbSelectionMethod)
OdDb::kWindow
@ kWindow
Definition: DbTableStyle.h:69
OdDbVisualSelection::points
virtual OdGePoint3dArray points() const =0
OdSelectionSetIterator::id
virtual OdDbStub * id() const =0
OdSelectionSet::baseDatabase
virtual const OdRxObject * baseDatabase() const =0
OdDbVisualSelection::Mode
Mode
Definition: SSet.h:62
OdAve::kBox
@ kBox
Definition: AveDefs.h:119