SurgSim::Blocks::KeyboardTogglesComponentBehavior Class Reference

This behavior is used to control the activity of registered components. More...

`#include <SurgSim/Blocks/KeyboardTogglesComponentBehavior.h>`

Inheritance diagram for SurgSim::Blocks::KeyboardTogglesComponentBehavior:

## Public Types

typedef std::unordered_map< int, std::unordered_set< std::shared_ptr< SurgSim::Framework::Component > > > | KeyboardRegistryType
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

## Public Member Functions

| KeyboardTogglesComponentBehavior (const std::string &name)
| Constructor. More...
| SURGSIM_CLASSNAME (SurgSim::Blocks::KeyboardTogglesComponentBehavior)
void | setInputComponent (std::shared_ptr< SurgSim::Framework::Component > inputComponent)
| Set the input component from which pressed keys come. More...
std::shared_ptr< SurgSim::Input::InputComponent > | getInputComponent () const
| Get the input component of this behavior. More...
void | registerKey (SurgSim::Devices::KeyCode key, std::shared_ptr< SurgSim::Framework::Component > component)
| Register a key with a component in this behavior. More...
void | setKeyboardRegistry (const KeyboardRegistryType &map)
| Set the register map of this behavior. More...
const KeyboardRegistryType & | getKeyboardRegistry () const
| Get the register map of this behavior. More...
void | update (double dt) override
| Update the behavior. More...
Public Member Functions inherited from SurgSim::Framework::Behavior
| Behavior (const std::string &name)
virtual | ~Behavior ()
virtual int | getTargetManagerType () const
| Specifies which manger will handle this behavior. More...
Public Member Functions inherited from SurgSim::Framework::Component
| Component (const std::string &name)
| Constructor. More...
virtual | ~Component ()
| Destructor. More...
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. More...
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 void | doRetire ()
| Interface to be implemented by derived classes Has a default implementation, does nothing. More...
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. More...
| ~Accessible ()
| Destructor. More...
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...
template<>
boost::any | getValue (const std::string &name) const

## Protected Member Functions

bool | doInitialize () override
| Initialize this behavior. More...
bool | doWakeUp () override
| Wakeup this behavior. More...
Protected Member Functions inherited from SurgSim::Framework::Component
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...

## Private Attributes

bool | m_keyPressedLastUpdate
| Record if any key is pressed in last update() call. More...
std::shared_ptr< SurgSim::Input::InputComponent > | m_inputComponent
| Input component from which pressed keys come. More...
KeyboardRegistryType | m_registry
| A mapping between key and the graphical representation(s) it controls. More...

## Additional Inherited Members

Static Public Member Functions inherited from SurgSim::Framework::FactoryBase1< Component, std::string >
static FactoryType & | getFactory ()

## Detailed Description

This behavior is used to control the activity of registered components.

## Member Typedef Documentation

## KeyboardRegistryType

typedef std::unordered_map<int, std::unordered_set<std::shared_ptr<SurgSim::Framework::Component> > > SurgSim::Blocks::KeyboardTogglesComponentBehavior::KeyboardRegistryType

## Constructor & Destructor Documentation

## KeyboardTogglesComponentBehavior()

SurgSim::Blocks::KeyboardTogglesComponentBehavior::KeyboardTogglesComponentBehavior | ( | const std::string & | name | ) |

explicit

Constructor.

Parameters

  name | Name of the behavior

## Member Function Documentation

## doInitialize()

bool SurgSim::Blocks::KeyboardTogglesComponentBehavior::doInitialize | ( |  | ) |

override protected virtual

Initialize this behavior.

Returns
  True on success, otherwise false.

Note
  In current implementation, this method always returns "true".

Implements SurgSim::Framework::Component.

## doWakeUp()

bool SurgSim::Blocks::KeyboardTogglesComponentBehavior::doWakeUp | ( |  | ) |

override protected virtual

Wakeup this behavior.

Returns
  True on success, otherwise false.

Note
  In current implementation, this method always returns "true".

Implements SurgSim::Framework::Component.

## getInputComponent()

std::shared_ptr< SurgSim::Input::InputComponent > SurgSim::Blocks::KeyboardTogglesComponentBehavior::getInputComponent | ( |  | ) | const

Get the input component of this behavior.

Returns
  The input component which sends signals to this behavior.

## getKeyboardRegistry()

const KeyboardTogglesComponentBehavior::KeyboardRegistryType & SurgSim::Blocks::KeyboardTogglesComponentBehavior::getKeyboardRegistry | ( |  | ) | const

Get the register map of this behavior.

Returns
  The register map of this behavior

## registerKey()

void SurgSim::Blocks::KeyboardTogglesComponentBehavior::registerKey | ( | SurgSim::Devices::KeyCode | key,
|  | std::shared_ptr< SurgSim::Framework::Component > | component
| ) |  |

Register a key with a component in this behavior.

Parameters

  key | A key used to control the component.
  component | The component being controlled by the key.

Note
  A key can be registered several times, so can a component.

## setInputComponent()

void SurgSim::Blocks::KeyboardTogglesComponentBehavior::setInputComponent | ( | std::shared_ptr< SurgSim::Framework::Component > | inputComponent | ) |

Set the input component from which pressed keys come.

Parameters

  inputComponent | The input component which contains the pressed key(s).

## setKeyboardRegistry()

void SurgSim::Blocks::KeyboardTogglesComponentBehavior::setKeyboardRegistry | ( | const KeyboardRegistryType & | map | ) |

Set the register map of this behavior.

Parameters

  map | The register map.

## SURGSIM_CLASSNAME()

SurgSim::Blocks::KeyboardTogglesComponentBehavior::SURGSIM_CLASSNAME | ( | SurgSim::Blocks::KeyboardTogglesComponentBehavior |  | ) |

## update()

void SurgSim::Blocks::KeyboardTogglesComponentBehavior::update | ( | double | dt | ) |

override virtual

Update the behavior.

Parameters

  dt | The length of time (seconds) between update calls.

Implements SurgSim::Framework::Behavior.

## Member Data Documentation

## m_inputComponent

std::shared_ptr<SurgSim::Input::InputComponent> SurgSim::Blocks::KeyboardTogglesComponentBehavior::m_inputComponent

private

Input component from which pressed keys come.

## m_keyPressedLastUpdate

bool SurgSim::Blocks::KeyboardTogglesComponentBehavior::m_keyPressedLastUpdate

private

Record if any key is pressed in last update() call.

## m_registry

KeyboardRegistryType SurgSim::Blocks::KeyboardTogglesComponentBehavior::m_registry

private

A mapping between key and the graphical representation(s) it controls.

The documentation for this class was generated from the following files:

- SurgSim/Blocks/KeyboardTogglesComponentBehavior.h
- SurgSim/Blocks/KeyboardTogglesComponentBehavior.cpp