Ignition Rendering

API Reference

5.0.0
Store< T > Class Template Referenceabstract

Multi-access storage structure of template class T. Template class T is expected to have functions GetId, GetName(), Destroy() which return unsigned int, std::string, and void respectively. This store will ensure that each element's name and ID are unique. More...

#include <ignition/rendering/Storage.hh>

Public Member Functions

virtual ~Store ()
 Destructor. More...
 
virtual bool Add (TPtr _object)=0
 Add given element. If the element has already been added or its name or ID conflict with other existing elements, then no work will be done. More...
 
virtual bool Contains (ConstTPtr _object) const =0
 Determine if store contains the given element. More...
 
virtual bool ContainsId (unsigned int _id) const =0
 Determine if store contains the element with the given ID. More...
 
virtual bool ContainsName (const std::string &_name) const =0
 Determine if store contains the element with the given name. More...
 
virtual void Destroy (TPtr _object)=0
 Remove and destroy given element. If the given element does not exists, in this store, then no work will be done. More...
 
virtual void DestroyAll ()=0
 Remove and destroy all elements in store. More...
 
virtual void DestroyById (unsigned int _id)=0
 Remove and destroy element with the given ID. If the specified element does not exists in this store, then no work will be done. More...
 
virtual void DestroyByIndex (unsigned int _index)=0
 Remove and destroy element at the given index. If the specified element does not exists in this store, then no work will be done. More...
 
virtual void DestroyByName (const std::string &_name)=0
 Remove and destroy element with the given name. If the specified element does not exists in this store, then no work will be done. More...
 
virtual TPtr GetById (unsigned int _id) const =0
 Get element with the given ID. More...
 
virtual TPtr GetByIndex (unsigned int _index) const =0
 Get element at the given index. More...
 
virtual TPtr GetByName (const std::string &_name) const =0
 Get element with the given name. More...
 
virtual TPtr Remove (TPtr _object)=0
 Remove given element. If the given element does not exists in this store, then no work will be done. More...
 
virtual void RemoveAll ()=0
 Remove all elements from store. More...
 
virtual TPtr RemoveById (unsigned int _id)=0
 Remove element with the given ID. If the specified element does not exists in this store, then no work will be done. More...
 
virtual TPtr RemoveByIndex (unsigned int _index)=0
 Remove element at the given index. If the specified element does not exists in this store, then no work will be done. More...
 
virtual TPtr RemoveByName (const std::string &_name)=0
 Remove element with the given name. If the specified element does not exists in this store, then no work will be done. More...
 
virtual unsigned int Size () const =0
 Get number of elements in this store. More...
 

Detailed Description

template<class T>
class ignition::rendering::Store< T >

Multi-access storage structure of template class T. Template class T is expected to have functions GetId, GetName(), Destroy() which return unsigned int, std::string, and void respectively. This store will ensure that each element's name and ID are unique.

Template Parameters
TThe storage element type

Constructor & Destructor Documentation

◆ ~Store()

virtual ~Store ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Add()

virtual bool Add ( TPtr  _object)
pure virtual

Add given element. If the element has already been added or its name or ID conflict with other existing elements, then no work will be done.

Parameters
[in]_objectElement to be added
Returns
True if successful

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ Contains()

virtual bool Contains ( ConstTPtr  _object) const
pure virtual

Determine if store contains the given element.

Parameters
[in]_objectThe element in question
Returns
True if this store contains the given element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ ContainsId()

virtual bool ContainsId ( unsigned int  _id) const
pure virtual

Determine if store contains the element with the given ID.

Parameters
[in]_idID of the element in question
Returns
True if this store contains the specified element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ ContainsName()

virtual bool ContainsName ( const std::string _name) const
pure virtual

Determine if store contains the element with the given name.

Parameters
[in]_nameName of the element in question
Returns
True if this store contains the specified element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ Destroy()

virtual void Destroy ( TPtr  _object)
pure virtual

Remove and destroy given element. If the given element does not exists, in this store, then no work will be done.

Parameters
[in]_objectElement to be removed

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ DestroyAll()

◆ DestroyById()

virtual void DestroyById ( unsigned int  _id)
pure virtual

Remove and destroy element with the given ID. If the specified element does not exists in this store, then no work will be done.

Parameters
[in]_idID of the element to be removed

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ DestroyByIndex()

virtual void DestroyByIndex ( unsigned int  _index)
pure virtual

Remove and destroy element at the given index. If the specified element does not exists in this store, then no work will be done.

Parameters
[in]_indexIndex of the element to be removed

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ DestroyByName()

virtual void DestroyByName ( const std::string _name)
pure virtual

Remove and destroy element with the given name. If the specified element does not exists in this store, then no work will be done.

Parameters
[in]_nameName of the element to be removed

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ GetById()

virtual TPtr GetById ( unsigned int  _id) const
pure virtual

◆ GetByIndex()

virtual TPtr GetByIndex ( unsigned int  _index) const
pure virtual

◆ GetByName()

virtual TPtr GetByName ( const std::string _name) const
pure virtual

◆ Remove()

virtual TPtr Remove ( TPtr  _object)
pure virtual

Remove given element. If the given element does not exists in this store, then no work will be done.

Parameters
[in]_objectElement to be removed
Returns
The removed element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ RemoveAll()

◆ RemoveById()

virtual TPtr RemoveById ( unsigned int  _id)
pure virtual

Remove element with the given ID. If the specified element does not exists in this store, then no work will be done.

Parameters
[in]_idID of the element to be removed
Returns
The removed element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ RemoveByIndex()

virtual TPtr RemoveByIndex ( unsigned int  _index)
pure virtual

Remove element at the given index. If the specified element does not exists in this store, then no work will be done.

Parameters
[in]_indexIndex of the element to be removed
Returns
The removed element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ RemoveByName()

virtual TPtr RemoveByName ( const std::string _name)
pure virtual

Remove element with the given name. If the specified element does not exists in this store, then no work will be done.

Parameters
[in]_nameName of the element to be removed
Returns
The removed element

Implemented in BaseStoreWrapper< T, U >, BaseCompositeStore< T >, BaseCompositeStore< Node >, BaseStore< T, U >, BaseStore< Light, T >, BaseStore< SubMesh, T >, BaseStore< Node, T >, BaseStore< Geometry, T >, BaseStore< Scene, T >, BaseStore< Visual, T >, and BaseStore< Sensor, T >.

◆ Size()

virtual unsigned int Size ( ) const
pure virtual

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