17 #ifndef IGNITION_RENDERING_STORAGE_HH_ 18 #define IGNITION_RENDERING_STORAGE_HH_ 22 #include "ignition/rendering/config.hh" 31 #include "ignition/rendering/Export.hh" 43 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
49 class IGNITION_RENDERING_VISIBLE
Map 64 public:
virtual unsigned int Size()
const = 0;
69 public:
virtual bool ContainsKey(
const std::string &_key)
const = 0;
74 public:
virtual bool ContainsValue(ConstTPtr _value)
const = 0;
79 public:
virtual TPtr Get(
const std::string &_key)
const = 0;
84 public:
virtual TPtr GetByIndex(
unsigned int _index)
const = 0;
91 public:
virtual bool Put(
const std::string &_key, TPtr _value) = 0;
96 public:
virtual void Remove(
const std::string &_key) = 0;
101 public:
virtual void Remove(TPtr _value) = 0;
104 public:
virtual void RemoveAll() = 0;
114 class IGNITION_RENDERING_VISIBLE
Store 129 public:
virtual unsigned int Size()
const = 0;
134 public:
virtual bool Contains(ConstTPtr _object)
const = 0;
139 public:
virtual bool ContainsId(
unsigned int _id)
const = 0;
144 public:
virtual bool ContainsName(
const std::string &_name)
const = 0;
149 public:
virtual TPtr GetById(
unsigned int _id)
const = 0;
154 public:
virtual TPtr GetByName(
const std::string &_name)
const = 0;
159 public:
virtual TPtr GetByIndex(
unsigned int _index)
const = 0;
166 public:
virtual bool Add(TPtr _object) = 0;
172 public:
virtual TPtr Remove(TPtr _object) = 0;
178 public:
virtual TPtr RemoveById(
unsigned int _id) = 0;
184 public:
virtual TPtr RemoveByName(
const std::string &_name) = 0;
190 public:
virtual TPtr RemoveByIndex(
unsigned int _index) = 0;
193 public:
virtual void RemoveAll() = 0;
198 public:
virtual void Destroy(TPtr _object) = 0;
203 public:
virtual void DestroyById(
unsigned int _id) = 0;
209 public:
virtual void DestroyByName(
const std::string &_name) = 0;
215 public:
virtual void DestroyByIndex(
unsigned int _index) = 0;
218 public:
virtual void DestroyAll() = 0;
251 public:
virtual unsigned int GetStoreCount()
const = 0;
256 public:
virtual bool ContainsStore(ConstTStorePtr _store)
const = 0;
262 public:
virtual bool AddStore(TStorePtr _store) = 0;
268 public:
virtual TStorePtr GetStore(
unsigned int _index)
const = 0;
274 public:
virtual TStorePtr RemoveStore(TStorePtr _store) = 0;
280 public:
virtual TStorePtr RemoveStore(
unsigned int _index) = 0;
290 template <
class T,
class U>
Represents a collection of Store objects, collectively working as a single composite store...
Definition: Storage.hh:227
std::shared_ptr< NodeCompositeStore > NodeCompositeStorePtr
Definition: Storage.hh:377
Store< Geometry > GeometryStore
Definition: Storage.hh:329
std::shared_ptr< VisualStore > VisualStorePtr
Definition: Storage.hh:361
virtual ~CompositeStore()
Destructor.
Definition: Storage.hh:247
Store< Scene > SceneStore
Definition: Storage.hh:309
std::shared_ptr< NodeStore > NodeStorePtr
Definition: Storage.hh:349
virtual ~Store()
Destructor.
Definition: Storage.hh:125
std::shared_ptr< SubMeshStore > SubMeshStorePtr
Definition: Storage.hh:369
std::shared_ptr< GeometryStore > GeometryStorePtr
Definition: Storage.hh:365
Store< Visual > VisualStore
Definition: Storage.hh:325
Store< Light > LightStore
Definition: Storage.hh:317
virtual ~Map()
Destructor.
Definition: Storage.hh:60
Map< Material > MaterialMap
Definition: Storage.hh:337
std::shared_ptr< SceneStore > SceneStorePtr
Definition: Storage.hh:345
std::shared_ptr< MaterialMap > MaterialMapPtr
Definition: Storage.hh:373
Store< SubMesh > SubMeshStore
Definition: Storage.hh:333
Store< Node > NodeStore
Definition: Storage.hh:313
virtual ~StoreWrapper()
Definition: Storage.hh:294
std::shared_ptr< SensorStore > SensorStorePtr
Definition: Storage.hh:357
Storage map from std::string to template class T.
Definition: Storage.hh:49
Multi-access storage structure of template class T. Template class T is expected to have functions Ge...
Definition: Storage.hh:114
CompositeStore< Node > NodeCompositeStore
Definition: Storage.hh:341
Store< Sensor > SensorStore
Definition: Storage.hh:321
Simple wrapper class that allows a Store of type Derived to be treated as a Store of type Base...
Definition: Storage.hh:291
std::shared_ptr< LightStore > LightStorePtr
Definition: Storage.hh:353