SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
A common base class for resources (data stored in files) and tools to manage them. More...
Namespaces | |
detail | |
Global access methods used to sort Container data. | |
properties | |
Namespace for non-POD data that can be attached to resources and components. | |
Classes | |
struct | AliasTag |
class | Component |
Component is the base class for records stored in an smtk::resource::Resource. More... | |
class | ConstPropertiesOfType |
A specialization of the Properties container for a single type. More... | |
class | CopyOptions |
class | DerivedFrom |
Derived resources are subclassed from smtk::resource::Resource. More... | |
class | GarbageCollector |
A class that owns ephemeral objects and remove them when abandoned. More... | |
struct | IdTag |
Tags used to access Container data. More... | |
struct | IndexTag |
class | Key |
Operations need the ability to lock and unlock resources, but no additional access privilege is required. More... | |
struct | LinkInformation |
Given a Key, Information about the object to which a link connects can be returned. More... | |
class | Links |
Links is a virtual class describing the API for connecting one resource/component to another resource/component. More... | |
struct | LocationTag |
class | Lock |
A read/write lock for resources. More... | |
class | Manager |
A resource Manager is responsible for tracking currently allocated resources, creating new resources and serializing/deserializing resources to/from disk. More... | |
class | Metadata |
Resources are registered to a resource manager at runtime with an instance of smtk::resource::Metadata. More... | |
struct | NameTag |
class | PersistentObject |
An abstract base class for SMTK resources and their components. More... | |
class | Properties |
Resource/Component properties store data as maps from UUIDs to values and present data as key/value pairs on Resources/Components themselves. More... | |
class | PropertiesOfType |
A specialization of the Properties container for a single type. More... | |
class | Registrar |
class | Resource |
An abstract base class for SMTK resources. More... | |
class | ScopedLockGuard |
A scope-guarded utility for handling locks. More... | |
class | ScopedLockSetGuard |
A utility for holding multiple lock-guards at once. More... | |
class | Surrogate |
A resource Surrogate is a stand-in for an actual resource. More... | |
Typedefs | |
typedef smtk::shared_ptr< smtk::resource::Manager > | ManagerPtr |
typedef smtk::weak_ptr< smtk::resource::Manager > | WeakManagerPtr |
typedef smtk::shared_ptr< smtk::resource::PersistentObject > | PersistentObjectPtr |
typedef smtk::shared_ptr< const smtk::resource::PersistentObject > | ConstPersistentObjectPtr |
typedef smtk::weak_ptr< smtk::resource::PersistentObject > | WeakPersistentObjectPtr |
typedef std::set< smtk::resource::PersistentObjectPtr > | PersistentObjectSet |
typedef smtk::shared_ptr< smtk::resource::Resource > | ResourcePtr |
typedef smtk::shared_ptr< smtk::resource::Component > | ComponentPtr |
typedef smtk::weak_ptr< smtk::resource::Resource > | WeakResourcePtr |
typedef smtk::shared_ptr< smtk::resource::Set > | SetPtr |
typedef smtk::shared_ptr< const smtk::resource::Component > | ConstComponentPtr |
typedef smtk::shared_ptr< const smtk::resource::Resource > | ConstResourcePtr |
typedef smtk::shared_ptr< const smtk::resource::Set > | ConstSetPtr |
typedef std::vector< smtk::resource::PersistentObjectPtr > | PersistentObjectArray |
typedef std::vector< smtk::resource::ResourcePtr > | ResourceArray |
typedef std::vector< smtk::resource::ComponentPtr > | ComponentArray |
typedef std::set< smtk::resource::ResourcePtr > | ResourceSet |
typedef std::set< smtk::resource::ComponentPtr > | ComponentSet |
typedef boost::multi_index_container< ResourcePtr, indexed_by< ordered_unique< tag< IdTag >, global_fun< const ResourcePtr &, const smtk::common::UUID &, &detail::id > >, ordered_non_unique< tag< IndexTag >, global_fun< const ResourcePtr &, smtk::resource::Resource::Index, &detail::index > >, ordered_non_unique< tag< NameTag >, global_fun< const ResourcePtr &, std::string, &detail::name > >, ordered_non_unique< tag< LocationTag >, global_fun< const ResourcePtr &, const std::string &, &detail::location > > > > | Container |
A multi-index container for accessing resources. More... | |
using | GarbageCollectorPtr = std::shared_ptr< GarbageCollector > |
typedef boost::multi_index_container< Metadata, indexed_by< ordered_unique< tag< NameTag >, const_mem_fun< Metadata, const std::string &, &Metadata::typeName > >, ordered_unique< tag< IndexTag >, const_mem_fun< Metadata, const smtk::resource::Resource::Index &, &Metadata::index > > > > | MetadataContainer |
A multi-index container for accessing resource metadata. More... | |
typedef std::function< void(const Metadata &, bool)> | MetadataObserver |
typedef smtk::common::Observers< MetadataObserver > | MetadataObservers |
typedef std::function< void(const Resource &, EventType)> | Observer |
typedef smtk::common::Observers< Observer > | Observers |
typedef double | Float |
typedef std::vector< Float > | FloatList |
typedef std::map< std::string, FloatList > | FloatData |
typedef std::map< smtk::common::UUID, FloatData > | UUIDsToFloatData |
typedef UUIDsToFloatData::iterator | UUIDWithFloatProperties |
typedef FloatData::iterator | PropertyNameWithFloats |
typedef FloatData::const_iterator | PropertyNameWithConstFloats |
typedef std::string | String |
Use std::string for holding string values. | |
typedef std::vector< String > | StringList |
Use vectors of String objects for holding string properties on model entities. | |
typedef std::map< std::string, StringList > | StringData |
A dictionary of property names mapped to their values (string vectors) | |
typedef std::map< smtk::common::UUID, StringData > | UUIDsToStringData |
A dictionary of model entities mapped to all the string properties defined on them. | |
typedef UUIDsToStringData::iterator | UUIDWithStringProperties |
A convenient typedef that describes how an iterator to model-entity string properties is used. | |
typedef StringData::iterator | PropertyNameWithStrings |
A convenient typedef that describes how the iterator to one string property is used. | |
typedef StringData::const_iterator | PropertyNameWithConstStrings |
A convenient typedef that describes how the const_iterator to one string property is used. | |
typedef long | Integer |
typedef std::vector< long > | IntegerList |
typedef std::map< std::string, IntegerList > | IntegerData |
typedef std::map< smtk::common::UUID, IntegerData > | UUIDsToIntegerData |
typedef UUIDsToIntegerData::iterator | UUIDWithIntegerProperties |
typedef IntegerData::iterator | PropertyNameWithIntegers |
typedef IntegerData::const_iterator | PropertyNameWithConstIntegers |
Enumerations | |
enum | LockType { DoNotLock = 0, Unlocked = 0, Read, Write } |
enum | EventType { EventType::ADDED, EventType::REMOVED } |
Enumerate events that the resource manager may encounter. More... | |
enum | PropertyType { FLOAT_PROPERTY, STRING_PROPERTY, INTEGER_PROPERTY, INVALID_PROPERTY } |
Primitive storage types for model properties. More... | |
Functions | |
bool | registerPythonResource (const smtk::resource::Manager::Ptr &resourceManager, const std::string &moduleName) |
template<typename QueryType > | |
SMTKCORE_NO_EXPORT QueryType & | queryForObject (const PersistentObject &object) |
Given an object, return a query for interrogating it. More... | |
A common base class for resources (data stored in files) and tools to manage them.
A set of classes exist for presenting model information to users. DescriptivePhrase is an abstract base class with subclasses in other SMTK subsystems for presenting information about their components. ComponentListPhrase presents a "folder"-like item that holds an array of phrases describing components. Similarly, PropertyListPhrase and PropertyValuePhrase hold information about string, floating-point, and integer data indexed by resource and component UUIDs.
These instances are placed into a hierarchy that describe the model in a context. Consider these examples specific to SMTK's modeling subsystem: in a functional modeling context, perhaps only descriptions of models and their groups will be displayed. When assigning geometry to functional groups, perhaps only geometric cells of a particular dimension will be shown. The SubphraseGenerator class is what determines the particular hierarchy, and a subclass will generally be written for each context in which resource components should be presented.
typedef std::vector<smtk::resource::ComponentPtr> smtk::resource::ComponentArray |
typedef smtk::shared_ptr<smtk::resource::Component> smtk::resource::ComponentPtr |
typedef std::set<smtk::resource::ComponentPtr> smtk::resource::ComponentSet |
typedef smtk::shared_ptr<const smtk::resource::Component> smtk::resource::ConstComponentPtr |
typedef smtk::shared_ptr<const smtk::resource::PersistentObject> smtk::resource::ConstPersistentObjectPtr |
typedef smtk::shared_ptr<const smtk::resource::Resource> smtk::resource::ConstResourcePtr |
typedef smtk::shared_ptr<const smtk::resource::Set> smtk::resource::ConstSetPtr |
typedef boost::multi_index_container< ResourcePtr, indexed_by< ordered_unique< tag<IdTag>, global_fun<const ResourcePtr&, const smtk::common::UUID&, &detail::id> >, ordered_non_unique< tag<IndexTag>, global_fun<const ResourcePtr&, smtk::resource::Resource::Index, &detail::index> >, ordered_non_unique<tag<NameTag>, global_fun<const ResourcePtr&, std::string, &detail::name> >, ordered_non_unique< tag<LocationTag>, global_fun<const ResourcePtr&, const std::string&, &detail::location> > > > smtk::resource::Container |
A multi-index container for accessing resources.
This class is primarily intended to be used in the implementation of smtk::resource::Manager only.
typedef smtk::shared_ptr<smtk::resource::Manager> smtk::resource::ManagerPtr |
typedef boost::multi_index_container< Metadata, indexed_by< ordered_unique<tag<NameTag>, const_mem_fun<Metadata, const std::string&, &Metadata::typeName> >, ordered_unique< tag<IndexTag>, const_mem_fun<Metadata, const smtk::resource::Resource::Index&, &Metadata::index> > > > smtk::resource::MetadataContainer |
A multi-index container for accessing resource metadata.
This class is primarily intended to be used in the implementation of smtk::resource::Manager only.
typedef std::vector<smtk::resource::PersistentObjectPtr> smtk::resource::PersistentObjectArray |
typedef smtk::shared_ptr< smtk::resource::PersistentObject > smtk::resource::PersistentObjectPtr |
typedef std::set< smtk::resource::PersistentObjectPtr > smtk::resource::PersistentObjectSet |
typedef std::vector<smtk::resource::ResourcePtr> smtk::resource::ResourceArray |
typedef smtk::shared_ptr<smtk::resource::Resource> smtk::resource::ResourcePtr |
typedef std::set<smtk::resource::ResourcePtr> smtk::resource::ResourceSet |
typedef smtk::shared_ptr<smtk::resource::Set> smtk::resource::SetPtr |
typedef smtk::weak_ptr<smtk::resource::Manager> smtk::resource::WeakManagerPtr |
typedef smtk::weak_ptr<smtk::resource::PersistentObject> smtk::resource::WeakPersistentObjectPtr |
typedef smtk::weak_ptr<smtk::resource::Resource> smtk::resource::WeakResourcePtr |
|
strong |
SMTKCORE_NO_EXPORT QueryType& smtk::resource::queryForObject | ( | const PersistentObject & | object | ) |
Given an object, return a query for interrogating it.
This method will test whether the object is a resource (in which case it asks the resource to construct the query) or a component (in which case it asks the component's owning resource to construct the query).