SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
PublicPointerDefs.h
Go to the documentation of this file.
1 //=========================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //=========================================================================
11 
12 #ifndef smtk_PublicPointerDefs_h
13 #define smtk_PublicPointerDefs_h
14 
15 #include "smtk/SharedPtr.h"
16 #include "smtk/SystemConfig.h"
17 #include <functional>
18 #include <map>
19 #include <set>
20 #include <string>
21 #include <typeindex>
22 #include <vector>
23 
24 namespace smtk
25 {
26 namespace common
27 {
28 class Managers;
29 typedef std::shared_ptr<Managers> ManagersPtr;
30 class UUID;
33 typedef std::set<smtk::common::UUID> UUIDs;
35 typedef std::vector<smtk::common::UUID> UUIDArray;
36 } // namespace common
37 
38 namespace resource
39 {
40 class PersistentObject;
41 class Resource;
42 class Component;
43 class Manager;
44 class Set;
45 } // namespace resource
46 
47 namespace geometry
48 {
49 class Backend;
50 class Geometry;
51 class Manager;
52 class Resource;
53 } // namespace geometry
54 
55 namespace graph
56 {
57 class Component;
58 template<typename GraphTraits>
59 class Resource;
60 } // namespace graph
61 
62 namespace attribute
63 {
64 class Attribute;
65 class Resource;
66 class ComponentItem;
67 class ComponentItemDefinition;
68 class DateTimeItem;
69 class DateTimeItemDefinition;
70 class Definition;
71 class DirectoryItem;
72 class DirectoryItemDefinition;
73 class DoubleItem;
74 class DoubleItemDefinition;
75 class FileItem;
76 class FileItemDefinition;
77 class FileSystemItem;
78 class FileSystemItemDefinition;
79 class GroupItem;
80 class GroupItemDefinition;
81 class IntItem;
82 class IntItemDefinition;
83 class Item;
84 class ItemDefinition;
85 class ModelEntityItem;
86 class ModelEntityItemDefinition;
87 class ReferenceItem;
88 class ReferenceItemDefinition;
89 class ResourceItem;
90 class ResourceItemDefinition;
91 class StringItem;
92 class StringItemDefinition;
93 class ValueItem;
94 class ValueItemDefinition;
95 class VoidItem;
96 class VoidItemDefinition;
97 } // namespace attribute
98 
99 namespace operation
100 {
101 class Operation;
102 class Manager;
103 } // namespace operation
104 
105 namespace extension
106 {
107 class qtSelectionManager;
109 typedef smtk::shared_ptr<smtk::extension::qtSelectionManager> qtSelectionManagerPtr;
110 } // namespace extension
111 
112 namespace mesh
113 {
114 class Resource;
115 class Component;
116 class Interface;
117 class Allocator;
118 class BufferedCellAllocator;
119 class IncrementalAllocator;
120 class ConnectivityStorage;
121 class PointLocatorImpl;
122 
123 namespace moab
124 {
125 class Interface;
126 }
127 
128 namespace json
129 {
130 class Interface;
131 }
132 } // namespace mesh
133 
134 namespace model
135 {
136 class Arrangement;
137 class ArrangementHelper;
140 typedef std::vector<smtk::model::ArrangementReference> ArrangementReferences;
141 class AttributeListPhrase;
143 typedef std::vector<smtk::model::Arrangement> Arrangements;
146 typedef std::vector<smtk::model::AuxiliaryGeometry> AuxiliaryGeometries;
147 class Resource;
148 class Session;
151 typedef std::vector<smtk::model::SessionRef> SessionRefs;
152 class SessionIO;
153 class SessionIOJSON;
156 typedef std::vector<smtk::model::CellEntity> Cells;
158 typedef std::set<smtk::model::CellEntity> CellSet;
159 class Chain;
161 typedef std::vector<smtk::model::Chain> Chains;
162 class EntityRef;
164 typedef std::set<smtk::model::EntityRef> EntityRefs;
166 typedef std::vector<smtk::model::EntityRef> EntityRefArray;
167 class DefaultSession;
168 class Edge;
170 typedef std::vector<smtk::model::Edge> Edges;
172 typedef std::set<smtk::model::Edge> EdgeSet;
173 class EdgeUse;
175 typedef std::vector<smtk::model::EdgeUse> EdgeUses;
176 class EntityPhrase;
177 class EntityListPhrase;
178 class Face;
180 typedef std::vector<smtk::model::Face> Faces;
182 typedef std::set<smtk::model::Face> FaceSet;
183 class FaceUse;
185 typedef std::vector<smtk::model::FaceUse> FaceUses;
186 class GridInfo;
187 class GridInfo2D;
188 class GridInfo3D;
189 class Instance;
191 typedef std::vector<smtk::model::Instance> Instances;
193 typedef std::set<smtk::model::Instance> InstanceSet;
194 class Loop;
196 typedef std::vector<smtk::model::Loop> Loops;
197 class Entity;
198 class MeshPhrase;
199 class MeshListPhrase;
200 class Model;
202 typedef std::vector<smtk::model::Model> Models;
203 class PropertyValuePhrase;
204 class PropertyListPhrase;
205 class Shell;
207 typedef std::vector<smtk::model::Shell> Shells;
210 typedef std::vector<smtk::model::ShellEntity> ShellEntities;
211 class SimpleModelSubphrases;
212 class Tessellation;
213 class UseEntity;
215 typedef std::vector<smtk::model::UseEntity> UseEntities;
216 class Vertex;
218 typedef std::vector<smtk::model::Vertex> Vertices;
220 typedef std::set<smtk::model::Vertex> VertexSet;
221 class VertexUse;
223 typedef std::vector<smtk::model::VertexUse> VertexUses;
224 class Volume;
226 typedef std::vector<smtk::model::Volume> Volumes;
227 class VolumeUse;
229 typedef std::vector<smtk::model::VolumeUse> VolumeUses;
230 } // namespace model
231 
232 namespace view
233 {
234 class AvailableOperations;
235 class Badge;
236 class ComponentPhraseContent;
237 class Configuration;
238 class DescriptivePhrase;
239 class Manager;
240 class PhraseContent;
241 class PhraseListContent;
242 class PhraseModel;
243 class ResourcePhraseContent;
244 class Selection;
245 class SubphraseGenerator;
246 } // namespace view
247 
248 namespace workflow
249 {
250 class OperationFilterSort;
251 }
252 
253 namespace simulation
254 {
255 class ExportSpec;
256 class UserData;
257 } // namespace simulation
258 
259 namespace io
260 {
261 class Logger;
263 typedef smtk::shared_ptr<smtk::io::Logger> LoggerPtr;
264 } // namespace io
265 
266 namespace project
267 {
268 class Manager;
269 class Project;
270 
271 namespace old
272 {
273 class Manager;
274 class Project;
275 } // namespace old
276 } // namespace project
277 
278 namespace resource
279 {
281 typedef smtk::shared_ptr<smtk::resource::Manager> ManagerPtr;
283 typedef smtk::weak_ptr<smtk::resource::Manager> WeakManagerPtr;
285 typedef smtk::shared_ptr<smtk::resource::PersistentObject> PersistentObjectPtr;
287 typedef smtk::shared_ptr<const smtk::resource::PersistentObject> ConstPersistentObjectPtr;
289 typedef smtk::weak_ptr<smtk::resource::PersistentObject> WeakPersistentObjectPtr;
291 typedef std::set<smtk::resource::PersistentObjectPtr> PersistentObjectSet;
293 typedef smtk::shared_ptr<smtk::resource::PersistentObject> PersistentObjectPtr;
295 typedef smtk::shared_ptr<smtk::resource::Resource> ResourcePtr;
297 typedef smtk::shared_ptr<smtk::resource::Component> ComponentPtr;
299 typedef smtk::weak_ptr<smtk::resource::Resource> WeakResourcePtr;
301 typedef smtk::shared_ptr<smtk::resource::Set> SetPtr;
303 typedef smtk::shared_ptr<const smtk::resource::Component> ConstComponentPtr;
305 typedef smtk::shared_ptr<const smtk::resource::Resource> ConstResourcePtr;
307 typedef smtk::shared_ptr<const smtk::resource::Set> ConstSetPtr;
309 typedef std::vector<smtk::resource::PersistentObjectPtr> PersistentObjectArray;
311 typedef std::vector<smtk::resource::ResourcePtr> ResourceArray;
313 typedef std::vector<smtk::resource::ComponentPtr> ComponentArray;
315 typedef std::set<smtk::resource::PersistentObjectPtr> PersistentObjectSet;
317 typedef std::set<smtk::resource::ResourcePtr> ResourceSet;
319 typedef std::set<smtk::resource::ComponentPtr> ComponentSet;
320 } // namespace resource
321 
322 namespace geometry
323 {
325 typedef std::unique_ptr<Geometry> GeometryPtr;
327 typedef std::shared_ptr<Manager> ManagerPtr;
328 typedef std::shared_ptr<const Manager> ConstManagerPtr;
330 typedef std::shared_ptr<Resource> ResourcePtr;
331 typedef std::shared_ptr<const Resource> ConstResourcePtr;
332 } // namespace geometry
333 
334 namespace graph
335 {
336 typedef std::shared_ptr<Component> ComponentPtr;
337 template<typename GraphTraits>
338 using ResourcePtr = std::shared_ptr<Resource<GraphTraits>>;
339 } // namespace graph
340 
341 namespace operation
342 {
344 typedef smtk::shared_ptr<smtk::operation::Operation> OperationPtr;
346 typedef smtk::weak_ptr<smtk::operation::Operation> WeakOperationPtr;
348 typedef smtk::shared_ptr<smtk::operation::Manager> ManagerPtr;
350 typedef smtk::weak_ptr<smtk::operation::Manager> WeakManagerPtr;
351 } // namespace operation
352 
353 namespace mesh
354 {
356 typedef smtk::shared_ptr<smtk::mesh::Resource> ResourcePtr;
358 typedef smtk::shared_ptr<const smtk::mesh::Resource> ConstResourcePtr;
360 typedef smtk::shared_ptr<smtk::mesh::Component> ComponentPtr;
362 typedef smtk::shared_ptr<smtk::mesh::Interface> InterfacePtr;
364 typedef smtk::shared_ptr<smtk::mesh::Allocator> AllocatorPtr;
366 typedef smtk::shared_ptr<smtk::mesh::BufferedCellAllocator> BufferedCellAllocatorPtr;
368 typedef smtk::shared_ptr<smtk::mesh::IncrementalAllocator> IncrementalAllocatorPtr;
370 typedef smtk::shared_ptr<smtk::mesh::ConnectivityStorage> ConnectivityStoragePtr;
372 typedef smtk::shared_ptr<smtk::mesh::PointLocatorImpl> PointLocatorImplPtr;
373 
374 namespace moab
375 {
377 typedef smtk::shared_ptr<smtk::mesh::moab::Interface> InterfacePtr;
378 } // namespace moab
379 
380 namespace json
381 {
383 typedef smtk::shared_ptr<smtk::mesh::json::Interface> InterfacePtr;
384 } // namespace json
385 } // namespace mesh
386 
387 namespace model
388 {
389 // Model Related Pointer Classes
391 typedef smtk::shared_ptr<smtk::model::Session> SessionPtr;
393 typedef smtk::weak_ptr<smtk::model::Session> WeakSessionPtr;
395 typedef std::map<smtk::common::UUID, smtk::shared_ptr<smtk::model::Session>> UUIDsToSessions;
397 typedef smtk::shared_ptr<smtk::model::DefaultSession> DefaultSessionPtr;
399 typedef smtk::shared_ptr<smtk::model::SessionIO> SessionIOPtr;
401 typedef smtk::shared_ptr<smtk::model::SessionIOJSON> SessionIOJSONPtr;
403 // typedef smtk::shared_ptr<smtk::model::EntityPhrase> EntityPhrasePtr;
405 // typedef smtk::shared_ptr<smtk::model::EntityListPhrase> EntityListPhrasePtr;
407 // typedef smtk::shared_ptr<smtk::model::MeshPhrase> MeshPhrasePtr;
409 // typedef smtk::shared_ptr<smtk::model::MeshListPhrase> MeshListPhrasePtr;
411 // typedef smtk::shared_ptr<smtk::model::PropertyValuePhrase> PropertyValuePhrasePtr;
413 // typedef smtk::shared_ptr<smtk::model::PropertyListPhrase> PropertyListPhrasePtr;
415 // typedef smtk::shared_ptr<smtk::model::SimpleModelSubphrases> SimpleModelSubphrasesPtr;
417 // typedef smtk::shared_ptr<smtk::model::SubphraseGenerator> SubphraseGeneratorPtr;
419 typedef smtk::shared_ptr<smtk::model::Resource> ResourcePtr;
421 typedef smtk::weak_ptr<smtk::model::Resource> WeakResourcePtr;
423 typedef smtk::shared_ptr<smtk::model::Entity> EntityPtr;
425 typedef smtk::weak_ptr<smtk::model::Entity> WeakEntityPtr;
427 typedef std::vector<smtk::model::EntityPtr> EntityArray;
429 typedef smtk::shared_ptr<smtk::model::Arrangement> ArrangementPtr;
431 typedef smtk::weak_ptr<smtk::model::Arrangement> WeakArrangementPtr;
433 typedef smtk::shared_ptr<smtk::model::Tessellation> TessellationPtr;
435 typedef smtk::weak_ptr<smtk::model::Tessellation> WeakTessellationPtr;
436 
437 // class for making the analysis grid information available in SMTK
439 typedef smtk::shared_ptr<smtk::model::GridInfo> GridInfoPtr;
441 // typedef smtk::shared_ptr<smtk::model::GridInfo2D> GridInfo2DPtr;
443 // typedef smtk::shared_ptr<smtk::model::GridInfo3D> GridInfo3DPtr;
444 } // namespace model
445 
446 namespace attribute
447 {
448 // Attribute Related Pointer Classes
450 typedef smtk::shared_ptr<smtk::attribute::Definition> DefinitionPtr;
452 typedef smtk::shared_ptr<const smtk::attribute::Definition> ConstDefinitionPtr;
454 typedef smtk::weak_ptr<smtk::attribute::Definition> WeakDefinitionPtr;
456 typedef smtk::shared_ptr<smtk::attribute::Attribute> AttributePtr;
458 typedef smtk::shared_ptr<const smtk::attribute::Attribute> ConstAttributePtr;
460 typedef smtk::weak_ptr<smtk::attribute::Attribute> WeakAttributePtr;
462 typedef smtk::weak_ptr<const smtk::attribute::Attribute> ConstWeakAttributePtr;
464 typedef std::vector<smtk::attribute::AttributePtr> Attributes;
465 
467 typedef smtk::shared_ptr<smtk::attribute::Item> ItemPtr;
469 typedef smtk::shared_ptr<const smtk::attribute::Item> ConstItemPtr;
471 typedef smtk::weak_ptr<smtk::attribute::Item> WeakItemPtr;
473 typedef smtk::shared_ptr<smtk::attribute::ItemDefinition> ItemDefinitionPtr;
475 typedef smtk::shared_ptr<const smtk::attribute::ItemDefinition> ConstItemDefinitionPtr;
477 typedef smtk::weak_ptr<smtk::attribute::ItemDefinition> WeakItemDefinitionPtr;
478 
480 typedef smtk::shared_ptr<smtk::attribute::ValueItem> ValueItemPtr;
482 typedef smtk::shared_ptr<const smtk::attribute::ValueItem> ConstValueItemPtr;
484 typedef smtk::shared_ptr<smtk::attribute::ValueItemDefinition> ValueItemDefinitionPtr;
485 
487 typedef smtk::shared_ptr<smtk::attribute::DateTimeItem> DateTimeItemPtr;
489 typedef smtk::shared_ptr<smtk::attribute::DateTimeItemDefinition> DateTimeItemDefinitionPtr;
491 typedef smtk::shared_ptr<smtk::attribute::DirectoryItem> DirectoryItemPtr;
493 typedef smtk::shared_ptr<smtk::attribute::DirectoryItemDefinition> DirectoryItemDefinitionPtr;
495 typedef smtk::shared_ptr<smtk::attribute::DoubleItem> DoubleItemPtr;
497 typedef smtk::shared_ptr<smtk::attribute::DoubleItemDefinition> DoubleItemDefinitionPtr;
499 typedef smtk::shared_ptr<smtk::attribute::FileItem> FileItemPtr;
501 typedef smtk::shared_ptr<smtk::attribute::FileItemDefinition> FileItemDefinitionPtr;
503 typedef smtk::shared_ptr<smtk::attribute::FileSystemItem> FileSystemItemPtr;
505 typedef smtk::shared_ptr<smtk::attribute::FileSystemItemDefinition> FileSystemItemDefinitionPtr;
507 typedef smtk::shared_ptr<smtk::attribute::GroupItem> GroupItemPtr;
508 typedef smtk::weak_ptr<smtk::attribute::GroupItem> WeakGroupItemPtr;
510 typedef smtk::shared_ptr<smtk::attribute::GroupItemDefinition> GroupItemDefinitionPtr;
512 typedef smtk::shared_ptr<smtk::attribute::IntItem> IntItemPtr;
514 typedef smtk::shared_ptr<smtk::attribute::IntItemDefinition> IntItemDefinitionPtr;
516 typedef smtk::shared_ptr<smtk::attribute::StringItem> StringItemPtr;
518 typedef smtk::shared_ptr<smtk::attribute::StringItemDefinition> StringItemDefinitionPtr;
520 typedef smtk::shared_ptr<smtk::attribute::ModelEntityItem> ModelEntityItemPtr;
522 typedef smtk::shared_ptr<const smtk::attribute::ModelEntityItemDefinition>
525 typedef smtk::shared_ptr<smtk::attribute::ModelEntityItemDefinition> ModelEntityItemDefinitionPtr;
527 typedef smtk::shared_ptr<smtk::attribute::VoidItem> VoidItemPtr;
529 typedef smtk::shared_ptr<smtk::attribute::VoidItemDefinition> VoidItemDefinitionPtr;
531 typedef smtk::shared_ptr<smtk::attribute::ReferenceItem> ReferenceItemPtr;
533 typedef smtk::shared_ptr<smtk::attribute::ReferenceItemDefinition> ReferenceItemDefinitionPtr;
535 typedef smtk::shared_ptr<smtk::attribute::ResourceItem> ResourceItemPtr;
537 typedef smtk::shared_ptr<smtk::attribute::ResourceItemDefinition> ResourceItemDefinitionPtr;
539 typedef smtk::shared_ptr<smtk::attribute::ComponentItem> ComponentItemPtr;
541 typedef smtk::shared_ptr<smtk::attribute::ComponentItemDefinition> ComponentItemDefinitionPtr;
542 
544 typedef smtk::shared_ptr<const smtk::attribute::DateTimeItem> ConstDateTimeItemPtr;
546 typedef smtk::shared_ptr<const smtk::attribute::DateTimeItemDefinition>
549 typedef smtk::shared_ptr<const smtk::attribute::DirectoryItem> ConstDirectoryItemPtr;
551 typedef smtk::shared_ptr<const smtk::attribute::DirectoryItemDefinition>
554 typedef smtk::shared_ptr<const smtk::attribute::DoubleItem> ConstDoubleItemPtr;
556 typedef smtk::shared_ptr<const smtk::attribute::DoubleItemDefinition> ConstDoubleItemDefinitionPtr;
558 typedef smtk::shared_ptr<const smtk::attribute::FileItem> ConstFileItemPtr;
560 typedef smtk::shared_ptr<const smtk::attribute::FileItemDefinition> ConstFileItemDefinitionPtr;
562 typedef smtk::shared_ptr<const smtk::attribute::FileSystemItem> ConstFileSystemItemPtr;
564 typedef smtk::shared_ptr<const smtk::attribute::FileSystemItemDefinition>
567 typedef smtk::shared_ptr<const smtk::attribute::GroupItem> ConstGroupItemPtr;
569 typedef smtk::shared_ptr<const smtk::attribute::GroupItemDefinition> ConstGroupItemDefinitionPtr;
571 typedef smtk::shared_ptr<const smtk::attribute::IntItem> ConstIntItemPtr;
573 typedef smtk::shared_ptr<const smtk::attribute::IntItemDefinition> ConstIntItemDefinitionPtr;
575 typedef smtk::shared_ptr<const smtk::attribute::StringItem> ConstStringItemPtr;
577 typedef smtk::shared_ptr<const smtk::attribute::StringItemDefinition> ConstStringItemDefinitionPtr;
579 typedef smtk::shared_ptr<const smtk::attribute::ModelEntityItem> ConstModelEntityItemPtr;
581 typedef smtk::shared_ptr<const smtk::attribute::ModelEntityItemDefinition>
584 typedef smtk::shared_ptr<const smtk::attribute::ReferenceItem> ConstReferenceItemPtr;
586 typedef smtk::shared_ptr<const smtk::attribute::ReferenceItemDefinition>
589 typedef smtk::shared_ptr<const smtk::attribute::ResourceItem> ConstResourceItemPtr;
591 typedef smtk::shared_ptr<const smtk::attribute::ResourceItemDefinition>
594 typedef smtk::shared_ptr<const smtk::attribute::ComponentItem> ConstComponentItemPtr;
596 typedef smtk::shared_ptr<const smtk::attribute::ComponentItemDefinition>
599 typedef smtk::shared_ptr<const smtk::attribute::VoidItem> ConstVoidItemPtr;
601 typedef smtk::shared_ptr<const smtk::attribute::VoidItemDefinition> ConstVoidItemDefinitionPtr;
602 
604 typedef smtk::shared_ptr<smtk::attribute::Resource> ResourcePtr;
606 typedef smtk::shared_ptr<const smtk::attribute::Resource> ConstResourcePtr;
608 typedef smtk::weak_ptr<smtk::attribute::Resource> WeakResourcePtr;
609 } // namespace attribute
610 
611 namespace view
612 {
614 typedef smtk::shared_ptr<smtk::view::AvailableOperations> AvailableOperationsPtr;
616 typedef smtk::weak_ptr<smtk::view::AvailableOperations> WeakAvailableOperationsPtr;
618 typedef smtk::shared_ptr<smtk::view::Badge> BadgePtr;
620 typedef smtk::shared_ptr<smtk::view::DescriptivePhrase> DescriptivePhrasePtr;
622 typedef smtk::weak_ptr<smtk::view::DescriptivePhrase> WeakDescriptivePhrasePtr;
624 typedef std::vector<smtk::view::DescriptivePhrasePtr> DescriptivePhrases;
626 typedef smtk::shared_ptr<smtk::view::Manager> ManagerPtr;
628 typedef smtk::weak_ptr<smtk::view::Manager> WeakManagerPtr;
630 typedef smtk::shared_ptr<smtk::view::PhraseModel> PhraseModelPtr;
632 typedef smtk::weak_ptr<smtk::view::PhraseModel> WeakPhraseModelPtr;
634 typedef smtk::shared_ptr<smtk::view::Selection> SelectionPtr;
636 typedef smtk::weak_ptr<smtk::view::Selection> WeakSelectionPtr;
638 typedef smtk::shared_ptr<smtk::view::SubphraseGenerator> SubphraseGeneratorPtr;
640 typedef smtk::weak_ptr<smtk::view::SubphraseGenerator> WeakSubphraseGeneratorPtr;
642 typedef smtk::shared_ptr<smtk::view::Configuration> ConfigurationPtr;
644 typedef smtk::weak_ptr<smtk::view::Configuration> WeakConfigurationPtr;
646 typedef smtk::shared_ptr<smtk::view::PhraseContent> PhraseContentPtr;
648 typedef smtk::shared_ptr<const smtk::view::PhraseContent> ConstPhraseContentPtr;
650 typedef smtk::shared_ptr<smtk::view::PhraseListContent> PhraseListContentPtr;
652 typedef smtk::shared_ptr<smtk::view::ComponentPhraseContent> ComponentPhraseContentPtr;
654 typedef smtk::shared_ptr<smtk::view::ResourcePhraseContent> ResourcePhraseContentPtr;
655 } // namespace view
656 
657 namespace workflow
658 {
660 typedef smtk::shared_ptr<smtk::workflow::OperationFilterSort> OperationFilterSortPtr;
662 typedef smtk::weak_ptr<smtk::workflow::OperationFilterSort> WeakOperationFilterSortPtr;
663 } // namespace workflow
664 
665 namespace simulation
666 {
667 //custom user data classes
669 typedef smtk::shared_ptr<smtk::simulation::ExportSpec> ExportSpecPtr;
671 typedef smtk::shared_ptr<smtk::simulation::UserData> UserDataPtr;
672 } // namespace simulation
673 
674 //special map and set typedefs for better safety with sets of weak pointers
675 //since sets of weak pointers can be dangerous.
676 namespace attribute
677 {
679 typedef std::set<attribute::WeakAttributePtr, smtk::owner_less<attribute::WeakAttributePtr>>
682 typedef std::set<attribute::WeakDefinitionPtr, smtk::owner_less<attribute::WeakDefinitionPtr>>
685 typedef std::
686  set<attribute::WeakItemDefinitionPtr, smtk::owner_less<attribute::WeakItemDefinitionPtr>>
689 typedef std::set<attribute::WeakItemPtr, smtk::owner_less<attribute::WeakItemPtr>> WeakItemPtrSet;
690 } // namespace attribute
691 
692 namespace project
693 {
695 typedef smtk::shared_ptr<smtk::project::Manager> ManagerPtr;
696 typedef smtk::weak_ptr<smtk::project::Manager> WeakManagerPtr;
698 typedef smtk::shared_ptr<smtk::project::Project> ProjectPtr;
699 typedef smtk::shared_ptr<const smtk::project::Project> ConstProjectPtr;
700 namespace old
701 {
703 typedef smtk::shared_ptr<smtk::project::old::Manager> ManagerPtr;
705 typedef smtk::shared_ptr<smtk::project::old::Project> ProjectPtr;
706 } // namespace old
707 } // namespace project
708 // These are used internally by SMTK
709 namespace internal
710 {
711 template<typename T>
713 {
714  enum
715  {
716  type = false
717  };
718 };
719 template<typename T>
720 struct is_shared_ptr<smtk::shared_ptr<T>>
721 {
722  enum
723  {
724  type = true
725  };
726 };
727 
728 template<typename T, int Enabled = is_shared_ptr<T>::type>
730 {
731  typedef smtk::shared_ptr<T> SharedPointerType;
732  typedef T RawPointerType;
733 };
734 
735 template<typename T>
736 struct shared_ptr_type<T, true>
737 {
738  typedef T SharedPointerType;
739  typedef typename T::element_type RawPointerType;
740 };
741 } // namespace internal
742 } // namespace smtk
743 #endif /* smtk_PublicPointerDefs_h */
smtk::attribute::ConstIntItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::IntItemDefinition > ConstIntItemDefinitionPtr
Definition: PublicPointerDefs.h:573
smtk
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
smtk::attribute::ResourceItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::ResourceItemDefinition > ResourceItemDefinitionPtr
Definition: PublicPointerDefs.h:537
smtk::graph::Component
Graph Component represents a node in the graph resource.
Definition: Component.h:62
smtk::model::Entity
A solid model entity, defined by a type and relations to other entities.
Definition: Entity.h:46
smtk::resource::WeakManagerPtr
smtk::weak_ptr< smtk::resource::Manager > WeakManagerPtr
Definition: PublicPointerDefs.h:283
smtk::attribute::WeakItemPtrSet
std::set< attribute::WeakItemPtr, smtk::owner_less< attribute::WeakItemPtr > > WeakItemPtrSet
Definition: PublicPointerDefs.h:689
smtk::attribute::WeakItemDefinitionPtr
smtk::weak_ptr< smtk::attribute::ItemDefinition > WeakItemDefinitionPtr
Definition: PublicPointerDefs.h:477
smtk::attribute::IntItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::IntItemDefinition > IntItemDefinitionPtr
Definition: PublicPointerDefs.h:514
smtk::model::Cells
std::vector< smtk::model::CellEntity > Cells
Definition: PublicPointerDefs.h:154
smtk::attribute::ConstGroupItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::GroupItemDefinition > ConstGroupItemDefinitionPtr
Definition: PublicPointerDefs.h:569
smtk::model::ShellEntities
std::vector< smtk::model::ShellEntity > ShellEntities
Definition: PublicPointerDefs.h:208
smtk::model::WeakSessionPtr
smtk::weak_ptr< smtk::model::Session > WeakSessionPtr
Definition: PublicPointerDefs.h:393
smtk::attribute::DefinitionPtr
smtk::shared_ptr< smtk::attribute::Definition > DefinitionPtr
Definition: PublicPointerDefs.h:450
smtk::project::ManagerPtr
smtk::shared_ptr< smtk::project::Manager > ManagerPtr
Definition: PublicPointerDefs.h:695
smtk::model::AuxiliaryGeometries
std::vector< smtk::model::AuxiliaryGeometry > AuxiliaryGeometries
Definition: PublicPointerDefs.h:144
smtk::model::Faces
std::vector< smtk::model::Face > Faces
Definition: PublicPointerDefs.h:178
smtk::attribute::ValueItemPtr
smtk::shared_ptr< smtk::attribute::ValueItem > ValueItemPtr
Definition: PublicPointerDefs.h:480
smtk::attribute::WeakAttributePtrSet
std::set< attribute::WeakAttributePtr, smtk::owner_less< attribute::WeakAttributePtr > > WeakAttributePtrSet
Definition: PublicPointerDefs.h:680
smtk::resource::ConstComponentPtr
smtk::shared_ptr< const smtk::resource::Component > ConstComponentPtr
Definition: PublicPointerDefs.h:303
smtk::attribute::FileItemPtr
smtk::shared_ptr< smtk::attribute::FileItem > FileItemPtr
Definition: PublicPointerDefs.h:499
smtk::view::WeakSelectionPtr
smtk::weak_ptr< smtk::view::Selection > WeakSelectionPtr
Definition: PublicPointerDefs.h:636
smtk::attribute::Attributes
std::vector< smtk::attribute::AttributePtr > Attributes
Definition: PublicPointerDefs.h:464
smtk::attribute::ConstComponentItemPtr
smtk::shared_ptr< const smtk::attribute::ComponentItem > ConstComponentItemPtr
Definition: PublicPointerDefs.h:594
smtk::simulation::UserDataPtr
smtk::shared_ptr< smtk::simulation::UserData > UserDataPtr
Definition: PublicPointerDefs.h:671
smtk::simulation::ExportSpecPtr
smtk::shared_ptr< smtk::simulation::ExportSpec > ExportSpecPtr
Definition: PublicPointerDefs.h:669
smtk::model::EdgeUse
A entityref subclass that provides methods specific to 1-d edge cells.
Definition: EdgeUse.h:37
smtk::model::Vertices
std::vector< smtk::model::Vertex > Vertices
Definition: PublicPointerDefs.h:216
smtk::common::UUIDs
std::set< smtk::common::UUID > UUIDs
Definition: PublicPointerDefs.h:31
smtk::geometry::ManagerPtr
std::shared_ptr< Manager > ManagerPtr
Definition: PublicPointerDefs.h:327
smtk::model::InstanceSet
std::set< smtk::model::Instance > InstanceSet
Definition: PublicPointerDefs.h:193
smtk::view::SelectionPtr
smtk::shared_ptr< smtk::view::Selection > SelectionPtr
Definition: PublicPointerDefs.h:634
smtk::attribute::ConstStringItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::StringItemDefinition > ConstStringItemDefinitionPtr
Definition: PublicPointerDefs.h:577
smtk::attribute::ConstModelEntityItemPtr
smtk::shared_ptr< const smtk::attribute::ModelEntityItem > ConstModelEntityItemPtr
Definition: PublicPointerDefs.h:579
smtk::model::Session
A base class for bridging modelers into SMTK.
Definition: Session.h:118
smtk::model::Edges
std::vector< smtk::model::Edge > Edges
Definition: PublicPointerDefs.h:168
smtk::model::Loops
std::vector< smtk::model::Loop > Loops
Definition: PublicPointerDefs.h:194
smtk::attribute::WeakResourcePtr
smtk::weak_ptr< smtk::attribute::Resource > WeakResourcePtr
Definition: PublicPointerDefs.h:608
smtk::model::Shell
A entityref subclass with methods specific to face-shells.
Definition: Shell.h:32
smtk::mesh::ResourcePtr
smtk::shared_ptr< smtk::mesh::Resource > ResourcePtr
Definition: PublicPointerDefs.h:356
smtk::geometry::Manager
Maintain a list of backends for which resources should provide geometry.
Definition: Manager.h:48
smtk::model::TessellationPtr
smtk::shared_ptr< smtk::model::Tessellation > TessellationPtr
Definition: PublicPointerDefs.h:433
smtk::model::WeakTessellationPtr
smtk::weak_ptr< smtk::model::Tessellation > WeakTessellationPtr
Definition: PublicPointerDefs.h:435
smtk::attribute::ConstResourceItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::ResourceItemDefinition > ConstResourceItemDefinitionPtr
Definition: PublicPointerDefs.h:592
smtk::attribute::ConstGroupItemPtr
smtk::shared_ptr< const smtk::attribute::GroupItem > ConstGroupItemPtr
Definition: PublicPointerDefs.h:567
smtk::attribute::ComponentItemPtr
smtk::shared_ptr< smtk::attribute::ComponentItem > ComponentItemPtr
Definition: PublicPointerDefs.h:539
smtk::view::ConstPhraseContentPtr
smtk::shared_ptr< const smtk::view::PhraseContent > ConstPhraseContentPtr
Definition: PublicPointerDefs.h:648
smtk::model::Model
A entityref subclass that provides methods specific to models.
Definition: Model.h:30
smtk::resource::WeakPersistentObjectPtr
smtk::weak_ptr< smtk::resource::PersistentObject > WeakPersistentObjectPtr
Definition: PublicPointerDefs.h:289
smtk::model::WeakArrangementPtr
smtk::weak_ptr< smtk::model::Arrangement > WeakArrangementPtr
Definition: PublicPointerDefs.h:431
smtk::resource::PersistentObjectArray
std::vector< smtk::resource::PersistentObjectPtr > PersistentObjectArray
Definition: PublicPointerDefs.h:309
smtk::attribute::ConstWeakAttributePtr
smtk::weak_ptr< const smtk::attribute::Attribute > ConstWeakAttributePtr
Definition: PublicPointerDefs.h:462
smtk::attribute::ConstItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::ItemDefinition > ConstItemDefinitionPtr
Definition: PublicPointerDefs.h:475
smtk::view::WeakDescriptivePhrasePtr
smtk::weak_ptr< smtk::view::DescriptivePhrase > WeakDescriptivePhrasePtr
Definition: PublicPointerDefs.h:622
smtk::operation::OperationPtr
smtk::shared_ptr< smtk::operation::Operation > OperationPtr
Definition: PublicPointerDefs.h:344
smtk::common::UUID
Definition: UUID.h:38
smtk::model::Arrangements
std::vector< smtk::model::Arrangement > Arrangements
A vector of Arrangements is associated to each Manager entity.
Definition: PublicPointerDefs.h:141
smtk::operation::WeakOperationPtr
smtk::weak_ptr< smtk::operation::Operation > WeakOperationPtr
Definition: PublicPointerDefs.h:346
smtk::view::WeakAvailableOperationsPtr
smtk::weak_ptr< smtk::view::AvailableOperations > WeakAvailableOperationsPtr
Definition: PublicPointerDefs.h:616
smtk::view::PhraseContentPtr
smtk::shared_ptr< smtk::view::PhraseContent > PhraseContentPtr
Definition: PublicPointerDefs.h:646
smtk::resource::ConstPersistentObjectPtr
smtk::shared_ptr< const smtk::resource::PersistentObject > ConstPersistentObjectPtr
Definition: PublicPointerDefs.h:287
smtk::model::ArrangementPtr
smtk::shared_ptr< smtk::model::Arrangement > ArrangementPtr
Definition: PublicPointerDefs.h:429
smtk::io::Logger
Log messages for later presentation to a user or a file.
Definition: Logger.h:95
smtk::attribute::ConstDirectoryItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::DirectoryItemDefinition > ConstDirectoryItemDefinitionPtr
Definition: PublicPointerDefs.h:552
smtk::model::Tessellation
Store geometric information related to model entities.
Definition: Tessellation.h:91
smtk::model::Volume
A entityref subclass that provides methods specific to 3-d volume cells.
Definition: Volume.h:31
smtk::view::WeakConfigurationPtr
smtk::weak_ptr< smtk::view::Configuration > WeakConfigurationPtr
Definition: PublicPointerDefs.h:644
smtk::model::SessionPtr
smtk::shared_ptr< smtk::model::Session > SessionPtr
Definition: PublicPointerDefs.h:391
smtk::operation::WeakManagerPtr
smtk::weak_ptr< smtk::operation::Manager > WeakManagerPtr
Definition: PublicPointerDefs.h:350
smtk::view::DescriptivePhrases
std::vector< smtk::view::DescriptivePhrasePtr > DescriptivePhrases
Definition: PublicPointerDefs.h:624
smtk::attribute::GroupItemPtr
smtk::shared_ptr< smtk::attribute::GroupItem > GroupItemPtr
Definition: PublicPointerDefs.h:507
smtk::workflow::OperationFilterSortPtr
smtk::shared_ptr< smtk::workflow::OperationFilterSort > OperationFilterSortPtr
Definition: PublicPointerDefs.h:660
smtk::mesh::AllocatorPtr
smtk::shared_ptr< smtk::mesh::Allocator > AllocatorPtr
Definition: PublicPointerDefs.h:364
smtk::model::Instances
std::vector< smtk::model::Instance > Instances
Definition: PublicPointerDefs.h:189
smtk::model::VertexSet
std::set< smtk::model::Vertex > VertexSet
Definition: PublicPointerDefs.h:220
smtk::model::Edge
A entityref subclass that provides methods specific to 1-d edge cells.
Definition: Edge.h:32
smtk::internal::shared_ptr_type
Definition: PublicPointerDefs.h:729
smtk::resource::ComponentSet
std::set< smtk::resource::ComponentPtr > ComponentSet
Definition: PublicPointerDefs.h:319
smtk::attribute::WeakItemPtr
smtk::weak_ptr< smtk::attribute::Item > WeakItemPtr
Definition: PublicPointerDefs.h:471
smtk::model::EntityPtr
smtk::shared_ptr< smtk::model::Entity > EntityPtr
Definition: PublicPointerDefs.h:423
smtk::model::VolumeUse
A entityref subclass that provides methods specific to 0-d vertex cells.
Definition: VolumeUse.h:31
smtk::resource::ResourceSet
std::set< smtk::resource::ResourcePtr > ResourceSet
Definition: PublicPointerDefs.h:317
smtk::model::EntityRefArray
std::vector< smtk::model::EntityRef > EntityRefArray
Definition: PublicPointerDefs.h:166
smtk::model::WeakEntityPtr
smtk::weak_ptr< smtk::model::Entity > WeakEntityPtr
Definition: PublicPointerDefs.h:425
smtk::model::DefaultSession
A session that does no transcription.
Definition: DefaultSession.h:54
smtk::model::CellEntity
A entityref subclass with methods specific to cell entities.
Definition: CellEntity.h:30
smtk::model::SessionIOJSONPtr
smtk::shared_ptr< smtk::model::SessionIOJSON > SessionIOJSONPtr
Definition: PublicPointerDefs.h:401
smtk::attribute::ConstFileItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::FileItemDefinition > ConstFileItemDefinitionPtr
Definition: PublicPointerDefs.h:560
smtk::attribute::StringItemPtr
smtk::shared_ptr< smtk::attribute::StringItem > StringItemPtr
Definition: PublicPointerDefs.h:516
smtk::attribute::WeakItemDefinitionPtrSet
std::set< attribute::WeakItemDefinitionPtr, smtk::owner_less< attribute::WeakItemDefinitionPtr > > WeakItemDefinitionPtrSet
Definition: PublicPointerDefs.h:687
smtk::attribute::GroupItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::GroupItemDefinition > GroupItemDefinitionPtr
Definition: PublicPointerDefs.h:510
smtk::attribute::ConstFileSystemItemPtr
smtk::shared_ptr< const smtk::attribute::FileSystemItem > ConstFileSystemItemPtr
Definition: PublicPointerDefs.h:562
smtk::operation::ManagerPtr
smtk::shared_ptr< smtk::operation::Manager > ManagerPtr
Definition: PublicPointerDefs.h:348
smtk::attribute::ConstComponentItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::ComponentItemDefinition > ConstComponentItemDefinitionPtr
Definition: PublicPointerDefs.h:597
smtk::mesh::PointLocatorImplPtr
smtk::shared_ptr< smtk::mesh::PointLocatorImpl > PointLocatorImplPtr
Definition: PublicPointerDefs.h:372
smtk::attribute::ConstResourceItemPtr
smtk::shared_ptr< const smtk::attribute::ResourceItem > ConstResourceItemPtr
Definition: PublicPointerDefs.h:589
smtk::view::ManagerPtr
smtk::shared_ptr< smtk::view::Manager > ManagerPtr
Definition: PublicPointerDefs.h:626
smtk::model::Vertex
A entityref subclass that provides methods specific to 0-d vertex cells.
Definition: Vertex.h:30
smtk::view::PhraseModelPtr
smtk::shared_ptr< smtk::view::PhraseModel > PhraseModelPtr
Definition: PublicPointerDefs.h:630
smtk::model::GridInfoPtr
smtk::shared_ptr< smtk::model::GridInfo > GridInfoPtr
Definition: PublicPointerDefs.h:439
smtk::attribute::ResourceItemPtr
smtk::shared_ptr< smtk::attribute::ResourceItem > ResourceItemPtr
Definition: PublicPointerDefs.h:535
smtk::common::UUIDGenerator
Definition: UUIDGenerator.h:20
smtk::attribute::ConstDateTimeItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::DateTimeItemDefinition > ConstDateTimeItemDefinitionPtr
Definition: PublicPointerDefs.h:547
smtk::attribute::ConstStringItemPtr
smtk::shared_ptr< const smtk::attribute::StringItem > ConstStringItemPtr
Definition: PublicPointerDefs.h:575
smtk::attribute::FileItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::FileItemDefinition > FileItemDefinitionPtr
Definition: PublicPointerDefs.h:501
smtk::attribute::FileSystemItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::FileSystemItemDefinition > FileSystemItemDefinitionPtr
Definition: PublicPointerDefs.h:505
smtk::resource::ResourceArray
std::vector< smtk::resource::ResourcePtr > ResourceArray
Definition: PublicPointerDefs.h:311
smtk::common::UUIDArray
std::vector< smtk::common::UUID > UUIDArray
Definition: PublicPointerDefs.h:35
smtk::view::ComponentPhraseContentPtr
smtk::shared_ptr< smtk::view::ComponentPhraseContent > ComponentPhraseContentPtr
Definition: PublicPointerDefs.h:652
smtk::model::AuxiliaryGeometry
An EntityRef subclass for representing unmodeled geometry to be included in a scene.
Definition: AuxiliaryGeometry.h:44
smtk::model::DefaultSessionPtr
smtk::shared_ptr< smtk::model::DefaultSession > DefaultSessionPtr
Definition: PublicPointerDefs.h:397
smtk::model::Resource
Store information about solid models.
Definition: Resource.h:93
smtk::model::VertexUse
A entityref subclass that provides methods specific to 0-d vertex cells.
Definition: VertexUse.h:32
smtk::mesh::ComponentPtr
smtk::shared_ptr< smtk::mesh::Component > ComponentPtr
Definition: PublicPointerDefs.h:360
smtk::attribute::ConstReferenceItemPtr
smtk::shared_ptr< const smtk::attribute::ReferenceItem > ConstReferenceItemPtr
Definition: PublicPointerDefs.h:584
smtk::mesh::IncrementalAllocatorPtr
smtk::shared_ptr< smtk::mesh::IncrementalAllocator > IncrementalAllocatorPtr
Definition: PublicPointerDefs.h:368
smtk::model::VolumeUses
std::vector< smtk::model::VolumeUse > VolumeUses
Definition: PublicPointerDefs.h:227
smtk::model::ArrangementReference
A simple structure that robustly references an arrangement.
Definition: Arrangement.h:144
smtk::model::SessionIOJSON
A base class for delegating session I/O to/from JSON.
Definition: SessionIOJSON.h:31
smtk::model::VertexUses
std::vector< smtk::model::VertexUse > VertexUses
Definition: PublicPointerDefs.h:221
smtk::attribute::IntItemPtr
smtk::shared_ptr< smtk::attribute::IntItem > IntItemPtr
Definition: PublicPointerDefs.h:512
smtk::attribute::DirectoryItemPtr
smtk::shared_ptr< smtk::attribute::DirectoryItem > DirectoryItemPtr
Definition: PublicPointerDefs.h:491
smtk::mesh::ConnectivityStoragePtr
smtk::shared_ptr< smtk::mesh::ConnectivityStorage > ConnectivityStoragePtr
Definition: PublicPointerDefs.h:370
smtk::mesh::moab::InterfacePtr
smtk::shared_ptr< smtk::mesh::moab::Interface > InterfacePtr
Definition: PublicPointerDefs.h:377
smtk::model::SessionIO
A base class for delegating session I/O.
Definition: SessionIO.h:46
smtk::model::Instance
A entityref subclass that provides methods specific to entity use records.
Definition: Instance.h:23
smtk::model::UUIDsToSessions
std::map< smtk::common::UUID, smtk::shared_ptr< smtk::model::Session > > UUIDsToSessions
Definition: PublicPointerDefs.h:395
smtk::attribute::AttributePtr
smtk::shared_ptr< smtk::attribute::Attribute > AttributePtr
Definition: PublicPointerDefs.h:456
smtk::resource::WeakResourcePtr
smtk::weak_ptr< smtk::resource::Resource > WeakResourcePtr
Definition: PublicPointerDefs.h:299
smtk::attribute::ConstDateTimeItemPtr
smtk::shared_ptr< const smtk::attribute::DateTimeItem > ConstDateTimeItemPtr
Definition: PublicPointerDefs.h:544
smtk::model::SessionRef
A entityref subclass that provides methods specific to entity use records.
Definition: SessionRef.h:28
smtk::view::WeakPhraseModelPtr
smtk::weak_ptr< smtk::view::PhraseModel > WeakPhraseModelPtr
Definition: PublicPointerDefs.h:632
smtk::model::FaceSet
std::set< smtk::model::Face > FaceSet
Definition: PublicPointerDefs.h:182
smtk::attribute::FileSystemItemPtr
smtk::shared_ptr< smtk::attribute::FileSystemItem > FileSystemItemPtr
Definition: PublicPointerDefs.h:503
smtk::mesh::BufferedCellAllocatorPtr
smtk::shared_ptr< smtk::mesh::BufferedCellAllocator > BufferedCellAllocatorPtr
Definition: PublicPointerDefs.h:366
smtk::model::WeakResourcePtr
smtk::weak_ptr< smtk::model::Resource > WeakResourcePtr
Definition: PublicPointerDefs.h:421
smtk::model::CellSet
std::set< smtk::model::CellEntity > CellSet
Definition: PublicPointerDefs.h:158
smtk::geometry::Geometry
A base class for objects which can provide renderable geometry.
Definition: Geometry.h:60
smtk::attribute::ReferenceItemPtr
smtk::shared_ptr< smtk::attribute::ReferenceItem > ReferenceItemPtr
Definition: PublicPointerDefs.h:531
smtk::workflow::WeakOperationFilterSortPtr
smtk::weak_ptr< smtk::workflow::OperationFilterSort > WeakOperationFilterSortPtr
Definition: PublicPointerDefs.h:662
smtk::attribute::ModelEntityItemPtr
smtk::shared_ptr< smtk::attribute::ModelEntityItem > ModelEntityItemPtr
Definition: PublicPointerDefs.h:520
smtk::view::WeakManagerPtr
smtk::weak_ptr< smtk::view::Manager > WeakManagerPtr
Definition: PublicPointerDefs.h:628
smtk::model::UseEntities
std::vector< smtk::model::UseEntity > UseEntities
Definition: PublicPointerDefs.h:213
smtk::resource::ComponentArray
std::vector< smtk::resource::ComponentPtr > ComponentArray
Definition: PublicPointerDefs.h:313
smtk::attribute::DateTimeItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::DateTimeItemDefinition > DateTimeItemDefinitionPtr
Definition: PublicPointerDefs.h:489
smtk::attribute::ComponentItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::ComponentItemDefinition > ComponentItemDefinitionPtr
Definition: PublicPointerDefs.h:541
smtk::attribute::ConstItemPtr
smtk::shared_ptr< const smtk::attribute::Item > ConstItemPtr
Definition: PublicPointerDefs.h:469
smtk::view::SubphraseGeneratorPtr
smtk::shared_ptr< smtk::view::SubphraseGenerator > SubphraseGeneratorPtr
Definition: PublicPointerDefs.h:638
smtk::attribute::VoidItemPtr
smtk::shared_ptr< smtk::attribute::VoidItem > VoidItemPtr
Definition: PublicPointerDefs.h:527
smtk::io::LoggerPtr
smtk::shared_ptr< smtk::io::Logger > LoggerPtr
Definition: PublicPointerDefs.h:261
smtk::mesh::json::InterfacePtr
smtk::shared_ptr< smtk::mesh::json::Interface > InterfacePtr
Definition: PublicPointerDefs.h:383
smtk::attribute::StringItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::StringItemDefinition > StringItemDefinitionPtr
Definition: PublicPointerDefs.h:518
smtk::resource::ConstSetPtr
smtk::shared_ptr< const smtk::resource::Set > ConstSetPtr
Definition: PublicPointerDefs.h:307
smtk::model::EdgeUses
std::vector< smtk::model::EdgeUse > EdgeUses
Definition: PublicPointerDefs.h:173
smtk::attribute::DoubleItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::DoubleItemDefinition > DoubleItemDefinitionPtr
Definition: PublicPointerDefs.h:497
smtk::model::EntityArray
std::vector< smtk::model::EntityPtr > EntityArray
Definition: PublicPointerDefs.h:427
smtk::view::ConfigurationPtr
smtk::shared_ptr< smtk::view::Configuration > ConfigurationPtr
Definition: PublicPointerDefs.h:642
smtk::attribute::ReferenceItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::ReferenceItemDefinition > ReferenceItemDefinitionPtr
Definition: PublicPointerDefs.h:533
smtk::attribute::ConstValueItemPtr
smtk::shared_ptr< const smtk::attribute::ValueItem > ConstValueItemPtr
Definition: PublicPointerDefs.h:482
smtk::attribute::ModelEntityItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::ModelEntityItemDefinition > ModelEntityItemDefinitionPtr
Definition: PublicPointerDefs.h:525
smtk::attribute::DateTimeItemPtr
smtk::shared_ptr< smtk::attribute::DateTimeItem > DateTimeItemPtr
Definition: PublicPointerDefs.h:487
smtk::model::ResourcePtr
smtk::shared_ptr< smtk::model::Resource > ResourcePtr
Definition: PublicPointerDefs.h:419
smtk::attribute::ConstDoubleItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::DoubleItemDefinition > ConstDoubleItemDefinitionPtr
Definition: PublicPointerDefs.h:556
smtk::attribute::DirectoryItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::DirectoryItemDefinition > DirectoryItemDefinitionPtr
Definition: PublicPointerDefs.h:493
smtk::resource::ConstResourcePtr
smtk::shared_ptr< const smtk::resource::Resource > ConstResourcePtr
Definition: PublicPointerDefs.h:305
smtk::model::FaceUses
std::vector< smtk::model::FaceUse > FaceUses
Definition: PublicPointerDefs.h:183
smtk::geometry::GeometryPtr
std::unique_ptr< Geometry > GeometryPtr
Definition: PublicPointerDefs.h:325
smtk::model::Loop
A entityref subclass with methods specific to edge-loops.
Definition: Loop.h:33
smtk::attribute::ConstDoubleItemPtr
smtk::shared_ptr< const smtk::attribute::DoubleItem > ConstDoubleItemPtr
Definition: PublicPointerDefs.h:554
smtk::attribute::DoubleItemPtr
smtk::shared_ptr< smtk::attribute::DoubleItem > DoubleItemPtr
Definition: PublicPointerDefs.h:495
smtk::attribute::ConstResourcePtr
smtk::shared_ptr< const smtk::attribute::Resource > ConstResourcePtr
Definition: PublicPointerDefs.h:606
smtk::model::FaceUse
A entityref subclass that provides methods specific to 0-d vertex cells.
Definition: FaceUse.h:37
smtk::resource::PersistentObjectSet
std::set< smtk::resource::PersistentObjectPtr > PersistentObjectSet
Definition: PublicPointerDefs.h:291
smtk::view::DescriptivePhrasePtr
smtk::shared_ptr< smtk::view::DescriptivePhrase > DescriptivePhrasePtr
Definition: PublicPointerDefs.h:620
smtk::model::Shells
std::vector< smtk::model::Shell > Shells
Definition: PublicPointerDefs.h:205
smtk::attribute::ConstAttributePtr
smtk::shared_ptr< const smtk::attribute::Attribute > ConstAttributePtr
Definition: PublicPointerDefs.h:458
smtk::geometry::Backend
This is an empty class used by geometry providers to specify their interface.
Definition: Backend.h:28
smtk::model::SessionIOPtr
smtk::shared_ptr< smtk::model::SessionIO > SessionIOPtr
Definition: PublicPointerDefs.h:399
smtk::mesh::InterfacePtr
smtk::shared_ptr< smtk::mesh::Interface > InterfacePtr
Definition: PublicPointerDefs.h:362
smtk::attribute::ConstFileSystemItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::FileSystemItemDefinition > ConstFileSystemItemDefinitionPtr
Definition: PublicPointerDefs.h:565
smtk::model::Face
A entityref subclass that provides methods specific to 2-d face cells.
Definition: Face.h:36
smtk::model::Chains
std::vector< smtk::model::Chain > Chains
Definition: PublicPointerDefs.h:159
smtk::model::Chain
A entityref subclass with methods specific to vertex-chains.
Definition: Chain.h:38
smtk::resource::SetPtr
smtk::shared_ptr< smtk::resource::Set > SetPtr
Definition: PublicPointerDefs.h:301
smtk::model::Volumes
std::vector< smtk::model::Volume > Volumes
Definition: PublicPointerDefs.h:224
smtk::project::ProjectPtr
smtk::shared_ptr< smtk::project::Project > ProjectPtr
Definition: PublicPointerDefs.h:698
smtk::model::SessionRefs
std::vector< smtk::model::SessionRef > SessionRefs
Definition: PublicPointerDefs.h:149
smtk::model::Models
std::vector< smtk::model::Model > Models
Definition: PublicPointerDefs.h:200
smtk::extension::qtSelectionManagerPtr
smtk::shared_ptr< smtk::extension::qtSelectionManager > qtSelectionManagerPtr
Definition: PublicPointerDefs.h:107
smtk::attribute::WeakDefinitionPtrSet
std::set< attribute::WeakDefinitionPtr, smtk::owner_less< attribute::WeakDefinitionPtr > > WeakDefinitionPtrSet
Definition: PublicPointerDefs.h:683
smtk::model::GridInfo
Definition: GridInfo.h:37
smtk::attribute::ConstModelEntityItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::ModelEntityItemDefinition > ConstModelEntityItemDefinitionPtr
Definition: PublicPointerDefs.h:523
smtk::mesh::ConstResourcePtr
smtk::shared_ptr< const smtk::mesh::Resource > ConstResourcePtr
Definition: PublicPointerDefs.h:358
smtk::resource::PersistentObjectPtr
smtk::shared_ptr< smtk::resource::PersistentObject > PersistentObjectPtr
Definition: PublicPointerDefs.h:285
smtk::geometry::ResourcePtr
std::shared_ptr< Resource > ResourcePtr
Definition: PublicPointerDefs.h:330
smtk::attribute::ConstFileItemPtr
smtk::shared_ptr< const smtk::attribute::FileItem > ConstFileItemPtr
Definition: PublicPointerDefs.h:558
smtk::attribute::ItemPtr
smtk::shared_ptr< smtk::attribute::Item > ItemPtr
Definition: PublicPointerDefs.h:467
smtk::model::UseEntity
A entityref subclass that provides methods specific to entity-use records.
Definition: UseEntity.h:53
smtk::model::ShellEntity
A entityref subclass with methods specific to shell entities.
Definition: ShellEntity.h:33
smtk::attribute::VoidItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::VoidItemDefinition > VoidItemDefinitionPtr
Definition: PublicPointerDefs.h:529
smtk::attribute::ValueItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::ValueItemDefinition > ValueItemDefinitionPtr
Definition: PublicPointerDefs.h:484
smtk::attribute::ConstIntItemPtr
smtk::shared_ptr< const smtk::attribute::IntItem > ConstIntItemPtr
Definition: PublicPointerDefs.h:571
smtk::attribute::ItemDefinitionPtr
smtk::shared_ptr< smtk::attribute::ItemDefinition > ItemDefinitionPtr
Definition: PublicPointerDefs.h:473
smtk::model::EdgeSet
std::set< smtk::model::Edge > EdgeSet
Definition: PublicPointerDefs.h:172
smtk::attribute::ConstVoidItemPtr
smtk::shared_ptr< const smtk::attribute::VoidItem > ConstVoidItemPtr
Definition: PublicPointerDefs.h:599
smtk::internal::is_shared_ptr
Definition: PublicPointerDefs.h:712
smtk::view::BadgePtr
smtk::shared_ptr< smtk::view::Badge > BadgePtr
Definition: PublicPointerDefs.h:618
smtk::attribute::WeakAttributePtr
smtk::weak_ptr< smtk::attribute::Attribute > WeakAttributePtr
Definition: PublicPointerDefs.h:460
smtk::view::PhraseListContentPtr
smtk::shared_ptr< smtk::view::PhraseListContent > PhraseListContentPtr
Definition: PublicPointerDefs.h:650
smtk::resource::ManagerPtr
smtk::shared_ptr< smtk::resource::Manager > ManagerPtr
Definition: PublicPointerDefs.h:281
smtk::resource::ComponentPtr
smtk::shared_ptr< smtk::resource::Component > ComponentPtr
Definition: PublicPointerDefs.h:297
smtk::model::EntityRefs
std::set< smtk::model::EntityRef > EntityRefs
Definition: PublicPointerDefs.h:162
smtk::view::AvailableOperationsPtr
smtk::shared_ptr< smtk::view::AvailableOperations > AvailableOperationsPtr
Definition: PublicPointerDefs.h:614
smtk::graph::Resource
A resource for conceptual modeling of geometric components.
Definition: PublicPointerDefs.h:59
smtk::attribute::ConstReferenceItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::ReferenceItemDefinition > ConstReferenceItemDefinitionPtr
Definition: PublicPointerDefs.h:587
smtk::view::ResourcePhraseContentPtr
smtk::shared_ptr< smtk::view::ResourcePhraseContent > ResourcePhraseContentPtr
Definition: PublicPointerDefs.h:654
smtk::model::EntityRef
A lightweight entityref pointing to a model entity's resource.
Definition: EntityRef.h:112
smtk::attribute::ConstDirectoryItemPtr
smtk::shared_ptr< const smtk::attribute::DirectoryItem > ConstDirectoryItemPtr
Definition: PublicPointerDefs.h:549
smtk::attribute::ResourcePtr
smtk::shared_ptr< smtk::attribute::Resource > ResourcePtr
Definition: PublicPointerDefs.h:604
smtk::geometry::Resource
An abstract base class for SMTK resources that provide geometry for themselves and/or their component...
Definition: Resource.h:33
smtk::view::WeakSubphraseGeneratorPtr
smtk::weak_ptr< smtk::view::SubphraseGenerator > WeakSubphraseGeneratorPtr
Definition: PublicPointerDefs.h:640
smtk::attribute::ConstVoidItemDefinitionPtr
smtk::shared_ptr< const smtk::attribute::VoidItemDefinition > ConstVoidItemDefinitionPtr
Definition: PublicPointerDefs.h:601
smtk::resource::ResourcePtr
smtk::shared_ptr< smtk::resource::Resource > ResourcePtr
Definition: PublicPointerDefs.h:295
smtk::attribute::WeakDefinitionPtr
smtk::weak_ptr< smtk::attribute::Definition > WeakDefinitionPtr
Definition: PublicPointerDefs.h:454
smtk::model::ArrangementReferences
std::vector< smtk::model::ArrangementReference > ArrangementReferences
An array of ArrangementReference objects used, for instance, to enumerate inverse relations.
Definition: PublicPointerDefs.h:138
smtk::attribute::ConstDefinitionPtr
smtk::shared_ptr< const smtk::attribute::Definition > ConstDefinitionPtr
Definition: PublicPointerDefs.h:452