17 #ifndef IGNITION_RENDERING_STORAGE_HH_ 18 #define IGNITION_RENDERING_STORAGE_HH_ 30 #include "ignition/rendering/Export.hh" 46 class IGNITION_RENDERING_VISIBLE
Map 61 public:
virtual unsigned int Size()
const = 0;
66 public:
virtual bool ContainsKey(
const std::string &_key)
const = 0;
71 public:
virtual bool ContainsValue(ConstTPtr _value)
const = 0;
76 public:
virtual TPtr Get(
const std::string &_key)
const = 0;
81 public:
virtual TPtr GetByIndex(
unsigned int _index)
const = 0;
88 public:
virtual bool Put(
const std::string &_key, TPtr _value) = 0;
93 public:
virtual void Remove(
const std::string &_key) = 0;
98 public:
virtual void Remove(TPtr _value) = 0;
101 public:
virtual void RemoveAll() = 0;
111 class IGNITION_RENDERING_VISIBLE
Store 126 public:
virtual unsigned int Size()
const = 0;
131 public:
virtual bool Contains(ConstTPtr _object)
const = 0;
136 public:
virtual bool ContainsId(
unsigned int _id)
const = 0;
141 public:
virtual bool ContainsName(
const std::string &_name)
const = 0;
146 public:
virtual TPtr GetById(
unsigned int _id)
const = 0;
151 public:
virtual TPtr GetByName(
const std::string &_name)
const = 0;
156 public:
virtual TPtr GetByIndex(
unsigned int _index)
const = 0;
163 public:
virtual bool Add(TPtr _object) = 0;
169 public:
virtual TPtr Remove(TPtr _object) = 0;
175 public:
virtual TPtr RemoveById(
unsigned int _id) = 0;
181 public:
virtual TPtr RemoveByName(
const std::string &_name) = 0;
187 public:
virtual TPtr RemoveByIndex(
unsigned int _index) = 0;
190 public:
virtual void RemoveAll() = 0;
195 public:
virtual void Destroy(TPtr _object) = 0;
200 public:
virtual void DestroyById(
unsigned int _id) = 0;
206 public:
virtual void DestroyByName(
const std::string &_name) = 0;
212 public:
virtual void DestroyByIndex(
unsigned int _index) = 0;
215 public:
virtual void DestroyAll() = 0;
248 public:
virtual unsigned int GetStoreCount()
const = 0;
253 public:
virtual bool ContainsStore(ConstTStorePtr _store)
const = 0;
259 public:
virtual bool AddStore(TStorePtr _store) = 0;
265 public:
virtual TStorePtr GetStore(
unsigned int _index)
const = 0;
271 public:
virtual TStorePtr RemoveStore(TStorePtr _store) = 0;
277 public:
virtual TStorePtr RemoveStore(
unsigned int _index) = 0;
287 template <
class T,
class U>
Represents a collection of Store objects, collectively working as a single composite store...
Definition: Storage.hh:224
std::shared_ptr< NodeCompositeStore > NodeCompositeStorePtr
Definition: Storage.hh:374
Store< Geometry > GeometryStore
Definition: Storage.hh:326
std::shared_ptr< VisualStore > VisualStorePtr
Definition: Storage.hh:358
virtual ~CompositeStore()
Deconstructor.
Definition: Storage.hh:244
Store< Scene > SceneStore
Definition: Storage.hh:306
std::shared_ptr< NodeStore > NodeStorePtr
Definition: Storage.hh:346
virtual ~Store()
Deconstructor.
Definition: Storage.hh:122
std::shared_ptr< SubMeshStore > SubMeshStorePtr
Definition: Storage.hh:366
std::shared_ptr< GeometryStore > GeometryStorePtr
Definition: Storage.hh:362
Store< Visual > VisualStore
Definition: Storage.hh:322
Store< Light > LightStore
Definition: Storage.hh:314
virtual ~Map()
Deconstructor.
Definition: Storage.hh:57
Map< Material > MaterialMap
Definition: Storage.hh:334
std::shared_ptr< SceneStore > SceneStorePtr
Definition: Storage.hh:342
std::shared_ptr< MaterialMap > MaterialMapPtr
Definition: Storage.hh:370
Store< SubMesh > SubMeshStore
Definition: Storage.hh:330
Store< Node > NodeStore
Definition: Storage.hh:310
virtual ~StoreWrapper()
Definition: Storage.hh:291
std::shared_ptr< SensorStore > SensorStorePtr
Definition: Storage.hh:354
Storage map from std::string to template class T.
Definition: Storage.hh:46
Multi-access storage structure of template class T. Template class T is expected to have functions Ge...
Definition: Storage.hh:111
CompositeStore< Node > NodeCompositeStore
Definition: Storage.hh:338
Store< Sensor > SensorStore
Definition: Storage.hh:318
Simple wrapper class that allows a Store of type Derived to be treated as a Store of type Base...
Definition: Storage.hh:288
Definition: ArrowVisual.hh:22
std::shared_ptr< LightStore > LightStorePtr
Definition: Storage.hh:350