16 #ifndef SURGSIM_FRAMEWORK_FRAMEWORKCONVERT_H
17 #define SURGSIM_FRAMEWORK_FRAMEWORKCONVERT_H
20 #include <unordered_map>
21 #include <yaml-cpp/yaml.h>
45 static YAML::Node encode(
46 const typename std::enable_if <std::is_base_of <SurgSim::Framework::Component, T>::value,
47 std::shared_ptr<T> >::type rhs);
50 typename std::enable_if <std::is_base_of<SurgSim::Framework::Component, T>::value,
51 std::shared_ptr<T> >::type& rhs);
65 struct convert<
std::shared_ptr<SurgSim::Framework::Component> >
67 static Node encode(
const std::shared_ptr<SurgSim::Framework::Component> rhs);
68 static bool decode(
const Node& node, std::shared_ptr<SurgSim::Framework::Component>& rhs);
72 typedef std::unordered_map<std::string, std::shared_ptr<SurgSim::Framework::Component>>
RegistryType;
75 static RegistryType& getRegistry();
91 struct convert<
std::shared_ptr<SurgSim::Framework::SceneElement>>
93 static Node encode(
const std::shared_ptr<SurgSim::Framework::SceneElement> rhs);
94 static bool decode(
const Node& node, std::shared_ptr<SurgSim::Framework::SceneElement>& rhs);
106 static Node encode(
const std::shared_ptr<SurgSim::Framework::Scene> rhs);
107 static bool decode(
const Node& node, std::shared_ptr<SurgSim::Framework::Scene>& rhs);
117 #endif // SURGSIM_FRAMEWORK_FRAMEWORKCONVERT_H
Definition: DriveElementFromInputBehavior.cpp:27
std::unordered_map< std::string, std::shared_ptr< SurgSim::Framework::Component > > RegistryType
Definition: FrameworkConvert.h:72
Component is the main interface class to pass information to the system managers each will decide whe...
Definition: Component.h:43
SurgSim::Math::Matrix44f convert(boost::any val)
Specialization for convert() to correctly cast Matrix44d to Matrix44f, will throw if the val is no...
Definition: Accessible.cpp:199
Definition: DataStructuresConvert.h:28
SceneElement is the basic part of a scene, it is a container of components.
Definition: SceneElement.h:48