SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
10 #ifndef smtk_session_polygon_Session_h
11 #define smtk_session_polygon_Session_h
13 #include "smtk/session/polygon/Exports.h"
14 #include "smtk/session/polygon/PointerDefs.h"
15 #include "smtk/session/polygon/internal/Entity.h"
62 SessionInfoBits allSupportedInformation()
const override;
64 template<
typename T,
typename U,
typename V>
65 void consistentInternalDelete(T& container, U& modified, V& expunged,
bool logDebug);
69 internal::EntityIdToPtr::iterator beginStorage();
70 internal::EntityIdToPtr::iterator endStorage();
71 internal::EntityIdToPtr::const_iterator beginStorage()
const;
72 internal::EntityIdToPtr::const_iterator endStorage()
const;
76 smtk::session::polygon::internal::entity::Ptr storage);
90 SessionInfoBits requestedInfo,
91 int depth = -1)
override;
100 internal::EntityIdToPtr::iterator it = m_storage.find(uid);
101 if (it != m_storage.end())
102 return smtk::dynamic_pointer_cast<T>(it->second);
103 static typename T::Ptr blank;
110 internal::EntityIdToPtr::iterator it = m_storage.find(uid);
111 if (it != m_storage.end())
112 return smtk::dynamic_pointer_cast<T>(it->second);
114 T blank = T::create();
116 .insert(internal::EntityIdToPtr::value_type(
117 uid, smtk::dynamic_pointer_cast<internal::entity>(blank)))
119 return smtk::dynamic_pointer_cast<T>(it->second);
126 internal::EntityIdToPtr m_storage;
127 int m_nextModelNumber{ 0 };
134 #endif // smtk_session_polygon_Session_h
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
A base class for bridging modelers into SMTK.
Definition: Session.h:118
A entityref subclass that provides methods specific to models.
Definition: Model.h:30
Methods that handle translation between polygon and SMTK instances.
Definition: Session.h:49
A entityref subclass that provides methods specific to 1-d edge cells.
Definition: Edge.h:32
#define smtkCreateMacro(...)
Add static create() methods to a class.
Definition: SharedFromThis.h:173
A entityref subclass that provides methods specific to 0-d vertex cells.
Definition: Vertex.h:30
#define smtkSharedFromThisMacro(...)
A macro to help with derived classes whose bases enable shared_from_this().
Definition: SharedFromThis.h:250
#define smtkTypeMacro(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:128
Definition: Resource.h:33
A base class for delegating session I/O to/from JSON.
Definition: SessionIOJSON.h:30
unsigned long SessionInfoBits
Bit-vector combinations of SessionInformation values for requesting information to transcribe.
Definition: Session.h:34
#define smtkSuperclassMacro(...)
Add a typedef to the superclass of this class.
Definition: SharedFromThis.h:147
smtk::shared_ptr< smtk::model::SessionIO > SessionIOPtr
Definition: PublicPointerDefs.h:406
A entityref subclass that provides methods specific to 2-d face cells.
Definition: Face.h:36
Represent the neighborhood of a sweepline point, x.
Definition: Neighborhood.h:41
An operator using the polygon kernel.
Definition: Operation.h:38
A lightweight entityref pointing to a model entity's resource.
Definition: EntityRef.h:112