16 #ifndef SURGSIM_FRAMEWORK_SCENE_H 17 #define SURGSIM_FRAMEWORK_SCENE_H 22 #include <boost/thread/mutex.hpp> 39 class Scene :
public std::enable_shared_from_this<Scene>
45 explicit Scene(std::weak_ptr<Runtime> runtime);
52 void addSceneElement(std::shared_ptr<SceneElement> element);
56 const std::vector<std::shared_ptr<SceneElement>>& getSceneElements()
const;
60 const std::shared_ptr<SceneElement> getSceneElement(
const std::string& name)
const;
64 std::shared_ptr<Runtime> getRuntime();
68 YAML::Node encode()
const;
73 bool decode(
const YAML::Node& node);
79 std::shared_ptr<Scene> getSharedPtr();
92 #endif // SURGSIM_FRAMEWORK_SCENE_H Definition: DriveElementFromInputBehavior.cpp:27
Scene. Basic Container for SceneElements.
Definition: Scene.h:39
boost::mutex m_sceneElementsMutex
Definition: Scene.h:86
string(TOUPPER ${DEVICE}DEVICE_UPPER_CASE) option(BUILD_DEVICE_ $
Definition: CMakeLists.txt:35
std::vector< std::shared_ptr< SceneElement > > m_elements
Definition: Scene.h:83
Definition: DataStructuresConvert.h:28
std::weak_ptr< Runtime > m_runtime
Definition: Scene.h:81