3.4.0
tigl::CTiglUIDManager Class Reference

#include <CTiglUIDManager.h>

Data Structures

struct  TypedPtr
 

Public Member Functions

TIGL_EXPORT void Clear ()
 
TIGL_EXPORT CTiglUIDManager ()
 
TIGL_EXPORT ITiglGeometricComponent & GetGeometricComponent (const std::string &uid) const
 
TIGL_EXPORT CTiglRelativelyPositionedComponent * GetParentGeometricComponent (const std::string &uid) const
 
TIGL_EXPORT std::set< const CTiglUIDObject * > GetReferences (const std::string &uid) const
 
TIGL_EXPORT const RelativeComponentContainerType & GetRootGeometricComponents () const
 
TIGL_EXPORT const ShapeContainerType & GetShapeContainer () const
 
TIGL_EXPORT bool HasGeometricComponent (const std::string &uid) const
 
TIGL_EXPORT bool IsReferenced (const std::string &uid) const
 
template<typename T >
bool IsType (const std::string &uid) const
 
TIGL_EXPORT bool IsUIDRegistered (const std::string &uid) const
 
TIGL_EXPORT bool IsUIDRegistered (const std::string &uid, const std::type_info &typeInfo) const
 
template<typename T >
bool IsUIDRegistered (const std::string &uid) const
 
TIGL_EXPORT std::string MakeUIDUnique (const std::string &baseUID) const
 
template<typename T >
void RegisterObject (const std::string &uid, T &object)
 
template<typename T >
void RegisterReference (const std::string &uid, T &object)
 
TIGL_EXPORT TypedPtr ResolveObject (const std::string &uid) const
 
TIGL_EXPORT TypedPtr ResolveObject (const std::string &uid, const std::type_info &typeInfo) const
 
template<typename T >
T & ResolveObject (const std::string &uid) const
 
template<typename T >
std::vector< T * > ResolveObjects () const
 
TIGL_EXPORT void SetParentComponents ()
 
TIGL_EXPORT bool TryUnregisterObject (const std::string &uid)
 
template<typename T >
bool TryUnregisterReference (const std::string &uid, T &object)
 
TIGL_EXPORT void UnregisterObject (const std::string &uid)
 
TIGL_EXPORT void UpdateObjectUID (const std::string &oldUID, const std::string &newUID)
 

Private Types

typedef std::map< std::string, TypedPtr > CPACSObjectMap
 
typedef std::unordered_map< ITiglUIDRefObject *, int > UIDReferenceEntries
 
typedef std::map< std::string, UIDReferenceEntries > UIDReferenceMap
 

Private Member Functions

void AddGeometricComponent (const std::string &uid, ITiglGeometricComponent *componentPtr)
 
void BuildTree ()
 
 CTiglUIDManager (const CTiglUIDManager &)
 
CTiglRelativelyPositionedComponent & GetRelativeComponent (const std::string &uid) const
 
void operator= (const CTiglUIDManager &)
 
void RegisterObject (const std::string &uid, void *object, const std::type_info &typeInfo)
 
void RegisterReference (const std::string &targetUid, ITiglUIDRefObject *source)
 
bool TryRemoveGeometricComponent (const std::string &uid)
 
bool TryUnregisterReference (const std::string &targetUid, ITiglUIDRefObject *source)
 
bool TryUpdateGeometricComponentUID (const std::string &oldUID, const std::string &newUID)
 
void Update ()
 
void UpdateUIDReferences (const std::string &oldUID, const std::string &newUID)
 

Private Attributes

ShapeContainerType allShapes
 All components of the configuration. More...
 
CPACSObjectMap cpacsObjects
 All objects in CPACS which have a UID. More...
 
bool invalidated
 Internal state flag. More...
 
RelativeComponentContainerType relativeComponents
 All relative components of the configuration. More...
 
CTiglRelativelyPositionedComponent * rootComponent
 Root component injected by configuration. More...
 
RelativeComponentContainerType rootComponents
 All root components that have children. More...
 
UIDReferenceMap uidReferences
 All references to a specific UID. More...
 

Member Typedef Documentation

◆ CPACSObjectMap

typedef std::map<std::string, TypedPtr> tigl::CTiglUIDManager::CPACSObjectMap
private

◆ UIDReferenceEntries

typedef std::unordered_map<ITiglUIDRefObject*, int> tigl::CTiglUIDManager::UIDReferenceEntries
private

◆ UIDReferenceMap

typedef std::map<std::string, UIDReferenceEntries> tigl::CTiglUIDManager::UIDReferenceMap
private

Constructor & Destructor Documentation

◆ CTiglUIDManager() [1/2]

TIGL_EXPORT tigl::CTiglUIDManager::CTiglUIDManager ( )

◆ CTiglUIDManager() [2/2]

tigl::CTiglUIDManager::CTiglUIDManager ( const CTiglUIDManager &  )
private

Member Function Documentation

◆ AddGeometricComponent()

void tigl::CTiglUIDManager::AddGeometricComponent ( const std::string &  uid,
ITiglGeometricComponent *  componentPtr 
)
private

◆ BuildTree()

void tigl::CTiglUIDManager::BuildTree ( )
private

◆ Clear()

TIGL_EXPORT void tigl::CTiglUIDManager::Clear ( )

◆ GetGeometricComponent()

TIGL_EXPORT ITiglGeometricComponent& tigl::CTiglUIDManager::GetGeometricComponent ( const std::string &  uid) const

◆ GetParentGeometricComponent()

TIGL_EXPORT CTiglRelativelyPositionedComponent* tigl::CTiglUIDManager::GetParentGeometricComponent ( const std::string &  uid) const

◆ GetReferences()

TIGL_EXPORT std::set<const CTiglUIDObject*> tigl::CTiglUIDManager::GetReferences ( const std::string &  uid) const

◆ GetRelativeComponent()

CTiglRelativelyPositionedComponent& tigl::CTiglUIDManager::GetRelativeComponent ( const std::string &  uid) const
private

◆ GetRootGeometricComponents()

TIGL_EXPORT const RelativeComponentContainerType& tigl::CTiglUIDManager::GetRootGeometricComponents ( ) const

◆ GetShapeContainer()

TIGL_EXPORT const ShapeContainerType& tigl::CTiglUIDManager::GetShapeContainer ( ) const

◆ HasGeometricComponent()

TIGL_EXPORT bool tigl::CTiglUIDManager::HasGeometricComponent ( const std::string &  uid) const

◆ IsReferenced()

TIGL_EXPORT bool tigl::CTiglUIDManager::IsReferenced ( const std::string &  uid) const

◆ IsType()

template<typename T >
bool tigl::CTiglUIDManager::IsType ( const std::string &  uid) const
inline

◆ IsUIDRegistered() [1/3]

TIGL_EXPORT bool tigl::CTiglUIDManager::IsUIDRegistered ( const std::string &  uid) const

◆ IsUIDRegistered() [2/3]

TIGL_EXPORT bool tigl::CTiglUIDManager::IsUIDRegistered ( const std::string &  uid,
const std::type_info &  typeInfo 
) const

◆ IsUIDRegistered() [3/3]

template<typename T >
bool tigl::CTiglUIDManager::IsUIDRegistered ( const std::string &  uid) const
inline

◆ MakeUIDUnique()

TIGL_EXPORT std::string tigl::CTiglUIDManager::MakeUIDUnique ( const std::string &  baseUID) const

◆ operator=()

void tigl::CTiglUIDManager::operator= ( const CTiglUIDManager &  )
private

◆ RegisterObject() [1/2]

template<typename T >
void tigl::CTiglUIDManager::RegisterObject ( const std::string &  uid,
T &  object 
)
inline

◆ RegisterObject() [2/2]

void tigl::CTiglUIDManager::RegisterObject ( const std::string &  uid,
void *  object,
const std::type_info &  typeInfo 
)
private

◆ RegisterReference() [1/2]

template<typename T >
void tigl::CTiglUIDManager::RegisterReference ( const std::string &  uid,
T &  object 
)
inline

◆ RegisterReference() [2/2]

void tigl::CTiglUIDManager::RegisterReference ( const std::string &  targetUid,
ITiglUIDRefObject *  source 
)
private

◆ ResolveObject() [1/3]

TIGL_EXPORT TypedPtr tigl::CTiglUIDManager::ResolveObject ( const std::string &  uid) const

◆ ResolveObject() [2/3]

TIGL_EXPORT TypedPtr tigl::CTiglUIDManager::ResolveObject ( const std::string &  uid,
const std::type_info &  typeInfo 
) const

◆ ResolveObject() [3/3]

template<typename T >
T& tigl::CTiglUIDManager::ResolveObject ( const std::string &  uid) const
inline

◆ ResolveObjects()

template<typename T >
std::vector<T*> tigl::CTiglUIDManager::ResolveObjects ( ) const
inline

◆ SetParentComponents()

TIGL_EXPORT void tigl::CTiglUIDManager::SetParentComponents ( )

◆ TryRemoveGeometricComponent()

bool tigl::CTiglUIDManager::TryRemoveGeometricComponent ( const std::string &  uid)
private

◆ TryUnregisterObject()

TIGL_EXPORT bool tigl::CTiglUIDManager::TryUnregisterObject ( const std::string &  uid)

◆ TryUnregisterReference() [1/2]

template<typename T >
bool tigl::CTiglUIDManager::TryUnregisterReference ( const std::string &  uid,
T &  object 
)
inline

◆ TryUnregisterReference() [2/2]

bool tigl::CTiglUIDManager::TryUnregisterReference ( const std::string &  targetUid,
ITiglUIDRefObject *  source 
)
private

◆ TryUpdateGeometricComponentUID()

bool tigl::CTiglUIDManager::TryUpdateGeometricComponentUID ( const std::string &  oldUID,
const std::string &  newUID 
)
private

◆ UnregisterObject()

TIGL_EXPORT void tigl::CTiglUIDManager::UnregisterObject ( const std::string &  uid)

◆ Update()

void tigl::CTiglUIDManager::Update ( )
private

◆ UpdateObjectUID()

TIGL_EXPORT void tigl::CTiglUIDManager::UpdateObjectUID ( const std::string &  oldUID,
const std::string &  newUID 
)

◆ UpdateUIDReferences()

void tigl::CTiglUIDManager::UpdateUIDReferences ( const std::string &  oldUID,
const std::string &  newUID 
)
private

Field Documentation

◆ allShapes

ShapeContainerType tigl::CTiglUIDManager::allShapes
private

All components of the configuration.

◆ cpacsObjects

CPACSObjectMap tigl::CTiglUIDManager::cpacsObjects
private

All objects in CPACS which have a UID.

◆ invalidated

bool tigl::CTiglUIDManager::invalidated
private

Internal state flag.

◆ relativeComponents

RelativeComponentContainerType tigl::CTiglUIDManager::relativeComponents
private

All relative components of the configuration.

◆ rootComponent

CTiglRelativelyPositionedComponent* tigl::CTiglUIDManager::rootComponent
private

Root component injected by configuration.

◆ rootComponents

RelativeComponentContainerType tigl::CTiglUIDManager::rootComponents
private

All root components that have children.

◆ uidReferences

UIDReferenceMap tigl::CTiglUIDManager::uidReferences
private

All references to a specific UID.


The documentation for this class was generated from the following file: