Skip to content
Snippets Groups Projects
Commit 31b3c1d1 authored by Alexis Girault's avatar Alexis Girault
Browse files

ENH: Add getSceneObject(s) function in Scene

parent e03fb0d0
No related branches found
No related tags found
No related merge requests found
......@@ -30,6 +30,34 @@ Scene::isObjectRegistered(std::string sceneObjectName) const
return m_sceneObjectsMap.find(sceneObjectName) != m_sceneObjectsMap.end();
}
const std::vector<std::shared_ptr<SceneObject> >
Scene::getSceneObjects() const
{
std::vector<std::shared_ptr<SceneObject> > v;
for (auto it = m_sceneObjectsMap.begin();
it != m_sceneObjectsMap.end();
++it)
{
v.push_back(it->second);
}
return v;
}
std::shared_ptr<SceneObject>
Scene::getSceneObject(std::string sceneObjectName) const
{
if (!this->isObjectRegistered(sceneObjectName))
{
LOG(WARNING) << "No scene object named '" << sceneObjectName
<< "' was registered in this scene.";
return nullptr;
}
return m_sceneObjectsMap.at(sceneObjectName);
}
void
Scene::addSceneObject(std::shared_ptr<SceneObject>newSceneObject)
{
......
......@@ -22,6 +22,7 @@
#ifndef imstkScene_h
#define imstkScene_h
#include <vector>
#include <unordered_map>
#include <memory>
......@@ -37,9 +38,14 @@ public:
~Scene() = default;
bool isObjectRegistered(std::string sceneObjectName) const;
void addSceneObject(std::shared_ptr<SceneObject>newSceneObject);
void removeSceneObject(std::string sceneObjectName);
bool isObjectRegistered(std::string sceneObjectName)
const;
const std::vector<std::shared_ptr<SceneObject> >getSceneObjects() const;
std::shared_ptr<SceneObject> getSceneObject(std::string sceneObjectName)
const;
void addSceneObject(
std::shared_ptr<SceneObject>newSceneObject);
void removeSceneObject(std::string sceneObjectName);
protected:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment