|
opensurgsim
|
Component is the main interface class to pass information to the system managers each will decide whether to handle a component of a given type or not. More...
#include <Component.h>
Public Member Functions | |
| Component (const std::string &name) | |
| Constructor. More... | |
| virtual | ~Component () |
| Destructor. | |
| std::string | getName () const |
| Gets component name. More... | |
| std::string | getFullName () const |
| Gets a string containing the name of the Component and (if it has one) its SceneElement. More... | |
| void | setName (const std::string &name) |
| Sets the name of component. More... | |
| boost::uuids::uuid | getUuid () const |
| Gets the id of the component. | |
| bool | isInitialized () const |
| bool | initialize (const std::weak_ptr< Runtime > &runtime) |
| Initialize this component, this needs to be called before wakeUp() can be called. More... | |
| bool | isAwake () const |
| bool | wakeUp () |
| Wakeup this component, this will be called when the component is inserted into the ComponentManager that is responsible for handling this component. More... | |
| void | retire () |
| Retire this component, this will be called when the component is removed from the ComponentManager that is responsible for handling this component. More... | |
| void | setScene (std::weak_ptr< Scene > scene) |
| Sets the scene. More... | |
| std::shared_ptr< Scene > | getScene () |
| Gets the scene. More... | |
| void | setSceneElement (std::weak_ptr< SceneElement > sceneElement) |
| Sets the scene element. More... | |
| std::shared_ptr< SceneElement > | getSceneElement () |
| Gets the scene element. More... | |
| std::shared_ptr< const SceneElement > | getSceneElement () const |
| Gets the scene element, constant version. More... | |
| std::shared_ptr< Runtime > | getRuntime () const |
| Get the runtime which contains this component. More... | |
| virtual std::string | getClassName () const |
| The class name for this class, this being the base class it should return SurgSim::Framework::Component but this would make missing implemenentations of this hard to catch, therefore this calls SURGSIM_FAILURE. More... | |
| std::shared_ptr< Component > | getSharedPtr () |
| Gets a shared pointer to this component. More... | |
| virtual bool | doInitialize ()=0 |
| Interface to be implemented by derived classes. More... | |
| virtual bool | doWakeUp ()=0 |
| Interface to be implemented by derived classes. More... | |
| virtual void | doRetire () |
| Interface to be implemented by derived classes Has a default implementation, does nothing. | |
| bool | isActive () const |
| virtual void | setLocalActive (bool val) |
| Set the component's active state. More... | |
| bool | isLocalActive () const |
Public Member Functions inherited from SurgSim::Framework::Accessible | |
| Accessible () | |
| Default Constructor. | |
| ~Accessible () | |
| Destructor. | |
| template<class T > | |
| T | getValue (const std::string &name) const |
| Retrieves the value with the name by executing the getter if it is found and tries to convert it to the given type. More... | |
| boost::any | getValue (const std::string &name) const |
| Retrieves the value with the name by executing the getter if it is found. More... | |
| template<class T > | |
| bool | getValue (const std::string &name, T *value) const |
| Retrieves the value with the name by executing the getter if it is found, and converts it to the type of the output parameter. More... | |
| void | setValue (const std::string &name, const boost::any &value) |
| Sets a value of a property that has setter. More... | |
| bool | isReadable (const std::string &name) const |
| Check whether a property is readable. More... | |
| bool | isWriteable (const std::string &name) const |
| Check whether a property is writable. More... | |
| void | setGetter (const std::string &name, GetterType func) |
| Sets a getter for a given property. More... | |
| void | setSetter (const std::string &name, SetterType func) |
| Sets a setter for a given property. More... | |
| void | setAccessors (const std::string &name, GetterType getter, SetterType setter) |
| Sets the accessors getter and setter in one function. More... | |
| void | removeAccessors (const std::string &name) |
| Removes all the accessors (getter and setter) for a given property. More... | |
| void | forwardProperty (const std::string &name, const Accessible &target, const std::string &targetProperty) |
| Adds a property with the given name that uses the targets accessors, in effect forwarding the value to the target. More... | |
| void | setSerializable (const std::string &name, EncoderType encoder, DecoderType decoder) |
| Sets the functions used to convert data from and to a YAML::Node. More... | |
| void | setDecoder (const std::string &name, DecoderType decoder) |
| Sets the functions used to convert data from a YAML::Node. More... | |
| YAML::Node | encode () const |
| Encode this Accessible to a YAML::Node. More... | |
| void | decode (const YAML::Node &node, const std::vector< std::string > &ignoredProperties=std::vector< std::string >()) |
| Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot be converted. More... | |
| std::vector< std::string > | getProperties () |
| template<> | |
| boost::any | getValue (const std::string &name) const |
Protected Member Functions | |
| virtual std::shared_ptr< PoseComponent > | getPoseComponent () |
| Get the PoseComponent for this component. More... | |
| virtual std::shared_ptr< const PoseComponent > | getPoseComponent () const |
| Get the PoseComponent for this component, constant access. More... | |
Additional Inherited Members | |
Public Types inherited from SurgSim::Framework::Accessible | |
| typedef std::function< boost::any(void)> | GetterType |
| typedef std::function< void(boost::any)> | SetterType |
| typedef std::function< YAML::Node(void)> | EncoderType |
| typedef std::function< void(const YAML::Node *)> | DecoderType |
Public Types inherited from SurgSim::Framework::FactoryBase1< Component, std::string > | |
| typedef ObjectFactory1< Component, std::string > | FactoryType |
Static Public Member Functions inherited from SurgSim::Framework::FactoryBase1< Component, std::string > | |
| static FactoryType & | getFactory () |
Component is the main interface class to pass information to the system managers each will decide whether to handle a component of a given type or not.
Components will get initialized by having doInit(), and doWakeUp() called in succession, all components together will have doInit() called before any component will recieve doWakeUp()
|
explicit |
Constructor.
| name | Name of the component |
|
pure virtual |
Interface to be implemented by derived classes.
Implemented in SurgSim::Physics::MockFem1DRepresentation, SurgSim::Physics::MassSpringRepresentation, SurgSim::Physics::VirtualToolCoupler, SurgSim::Physics::FemRepresentation, MockBehavior, SurgSim::Graphics::OsgView, SurgSim::Physics::DeformableRepresentation, SurgSim::Particles::SphRepresentation, MockComponent, TestComponent3, SurgSim::Physics::RigidRepresentationBase, StaplerBehavior, SurgSim::Graphics::OsgTextRepresentation, SurgSim::Graphics::OsgScreenSpaceQuadRepresentation, SurgSim::Particles::Representation, SurgSim::Graphics::OsgMaterial, SurgSim::Framework::SamplingMetricBase, PrintoutBehavior, SurgSim::Physics::Fem3DRepresentation, SurgSim::Graphics::OsgSkeletonRepresentation, SurgSim::Physics::Fem1DRepresentation, SurgSim::Blocks::KeyboardTogglesComponentBehavior, SurgSim::Graphics::PaintBehavior, SurgSim::Physics::Fem2DRepresentation, SurgSim::Graphics::OsgMeshRepresentation, SurgSim::Blocks::VisualizeContactsBehavior, TestComponent2, SurgSim::Blocks::DriveElementFromInputBehavior, SurgSim::Blocks::KeyboardCallbackBehavior, SurgSim::Blocks::TransferPhysicsToVerticesBehavior, SurgSim::Blocks::CompoundShapeToGraphics, SurgSim::Input::InputComponent, SurgSim::Input::OutputComponent, SurgSim::Blocks::KnotIdentificationBehavior, SurgSim::Collision::ShapeCollisionRepresentation, SurgSim::Graphics::OsgCurveRepresentation, MockComponent, SurgSim::Physics::ConstraintComponent, SurgSim::Framework::MockReceiver, SurgSim::EditDebug::VisualDebugBehavior, SurgSim::Collision::ElementContactFilter, SurgSim::Blocks::AddRandomSphereBehavior, SurgSim::Physics::RigidCollisionRepresentation, SurgSim::Blocks::KeyBehavior, TestComponent1, AddSphereFromInputBehavior, and SerializationMockComponent.
|
pure virtual |
Interface to be implemented by derived classes.
Implemented in SurgSim::Physics::VirtualToolCoupler, MockBehavior, SurgSim::Graphics::OsgView, SurgSim::Physics::DeformableRepresentation, MockComponent, TestComponent3, SurgSim::Graphics::Representation, SurgSim::Physics::RigidRepresentationBase, StaplerBehavior, PrintoutBehavior, SurgSim::Graphics::OsgMaterial, SurgSim::Framework::SamplingMetricBase, SurgSim::Blocks::KeyboardTogglesComponentBehavior, SurgSim::Graphics::PaintBehavior, SurgSim::Physics::Fem3DRepresentation, TestComponent2, SurgSim::Blocks::DriveElementFromInputBehavior, SurgSim::Blocks::VisualizeContactsBehavior, SurgSim::Blocks::KeyboardCallbackBehavior, SurgSim::Blocks::TransferPhysicsToVerticesBehavior, SurgSim::Blocks::CompoundShapeToGraphics, SurgSim::Input::OutputComponent, SurgSim::Input::InputComponent, SurgSim::Blocks::KnotIdentificationBehavior, MockComponent, SurgSim::Framework::MockReceiver, SurgSim::Graphics::OsgCurveRepresentation, SurgSim::Physics::ConstraintComponent, SurgSim::EditDebug::VisualDebugBehavior, SurgSim::Collision::ElementContactFilter, TestComponent1, SurgSim::Blocks::AddRandomSphereBehavior, SurgSim::Physics::RigidCollisionRepresentation, SurgSim::Blocks::KeyBehavior, SurgSim::Blocks::SingleKeyBehavior, AddSphereFromInputBehavior, and SerializationMockComponent.
|
virtual |
The class name for this class, this being the base class it should return SurgSim::Framework::Component but this would make missing implemenentations of this hard to catch, therefore this calls SURGSIM_FAILURE.
Reimplemented in TestComponent3, TestComponent2, and TestComponent1.
| std::string SurgSim::Framework::Component::getFullName | ( | ) | const |
Gets a string containing the name of the Component and (if it has one) its SceneElement.
| std::string SurgSim::Framework::Component::getName | ( | ) | const |
Gets component name.
|
protectedvirtual |
Get the PoseComponent for this component.
Reimplemented in SurgSim::Framework::PoseComponent.
|
protectedvirtual |
Get the PoseComponent for this component, constant access.
Reimplemented in SurgSim::Framework::PoseComponent.
| std::shared_ptr< Runtime > SurgSim::Framework::Component::getRuntime | ( | ) | const |
Get the runtime which contains this component.
| std::shared_ptr< Scene > SurgSim::Framework::Component::getScene | ( | ) |
Gets the scene.
| std::shared_ptr< SceneElement > SurgSim::Framework::Component::getSceneElement | ( | ) |
Gets the scene element.
| std::shared_ptr< const SceneElement > SurgSim::Framework::Component::getSceneElement | ( | ) | const |
Gets the scene element, constant version.
| std::shared_ptr< Component > SurgSim::Framework::Component::getSharedPtr | ( | ) |
Gets a shared pointer to this component.
| bool SurgSim::Framework::Component::initialize | ( | const std::weak_ptr< Runtime > & | runtime | ) |
Initialize this component, this needs to be called before wakeUp() can be called.
This will be done automatically by the Scene hierarchy, either in SceneElement::addComponent(), if SceneElement has already been added to the Scene, or through Scene::addSceneElement() on all Components on the SceneElement.
| runtime | The runtime which contains this component. |
| bool SurgSim::Framework::Component::isActive | ( | ) | const |
| bool SurgSim::Framework::Component::isAwake | ( | ) | const |
| bool SurgSim::Framework::Component::isInitialized | ( | ) | const |
| bool SurgSim::Framework::Component::isLocalActive | ( | ) | const |
| void SurgSim::Framework::Component::retire | ( | ) |
Retire this component, this will be called when the component is removed from the ComponentManager that is responsible for handling this component.
This gives the component a chance to get rid of all shared objects
|
virtual |
Set the component's active state.
| val | If true component is active, inactive if false. |
Reimplemented in SurgSim::Physics::VirtualToolCoupler, and SurgSim::Graphics::OsgCamera.
| void SurgSim::Framework::Component::setName | ( | const std::string & | name | ) |
Sets the name of component.
| name | The name of this component. |
| void SurgSim::Framework::Component::setScene | ( | std::weak_ptr< Scene > | scene | ) |
Sets the scene.
| scene | The scene for this component |
| void SurgSim::Framework::Component::setSceneElement | ( | std::weak_ptr< SceneElement > | sceneElement | ) |
Sets the scene element.
| sceneElement | The scene element for this component. |
| bool SurgSim::Framework::Component::wakeUp | ( | ) |
Wakeup this component, this will be called when the component is inserted into the ComponentManager that is responsible for handling this component.
1.8.12