opensurgsim
|
A class implementing the communication with Natural Point TrackIR camera. More...
#include <TrackIRDevice.h>
Public Member Functions | |
TrackIRDevice (const std::string &uniqueName) | |
Constructor. More... | |
SURGSIM_CLASSNAME (SurgSim::Devices::TrackIRDevice) | |
virtual | ~TrackIRDevice () |
Destructor. | |
bool | initialize () override |
Fully initialize the device. More... | |
bool | isInitialized () const override |
void | setPositionScale (double scale) |
Sets the position scale for this device. More... | |
double | getPositionScale () const |
Gets the position scale for this device. | |
void | setOrientationScale (double scale) |
Sets the orientation scale for this device. More... | |
double | getOrientationScale () const |
Gets the orientation scale for this device. | |
![]() | |
CommonDevice (const std::string &name) | |
Constructor. More... | |
CommonDevice (const std::string &name, const DataStructures::DataGroup &inputData) | |
Constructor. More... | |
CommonDevice (const std::string &name, DataStructures::DataGroup &&inputData) | |
Constructor. More... | |
virtual | ~CommonDevice () |
Destructor. | |
std::string | getName () const override |
Return a (hopefully unique) device name. | |
std::string | getClassName () const override |
The class name for this class. More... | |
void | setNameForCallback (const std::string &name) |
Set the name used for calling the input consumers and output producer. More... | |
std::string | getNameForCallback () const |
Get the name used for calling the input consumers and output producer. More... | |
bool | addInputConsumer (std::shared_ptr< InputConsumerInterface > inputConsumer) override |
Adds an input consumer that will be notified when the application input state is updated. More... | |
bool | removeInputConsumer (std::shared_ptr< InputConsumerInterface > inputConsumer) override |
Removes an input consumer previously added via addInputConsumer. More... | |
void | clearInputConsumers () override |
Removes all InputConsumers. | |
bool | setOutputProducer (std::shared_ptr< OutputProducerInterface > outputProducer) override |
Sets an output producer that will be asked for application output state when the device needs it. More... | |
bool | removeOutputProducer (std::shared_ptr< OutputProducerInterface > outputProducer) override |
Removes an output producer previously added via setOutputProducer. More... | |
bool | hasOutputProducer () override |
Query if this object has output producer. More... | |
void | clearOutputProducer () override |
Removes any OutputProducer. | |
![]() | |
virtual | ~DeviceInterface () |
Virtual destructor (empty). | |
![]() | |
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 |
Friends | |
class | TrackIRScaffold |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
typedef ObjectFactory1< DeviceInterface, std::string > | FactoryType |
![]() | |
static FactoryType & | getFactory () |
![]() | |
virtual void | pushInput () |
Push application input to consumers. | |
virtual bool | pullOutput () |
Pull application output from a producer. | |
DataStructures::DataGroup & | getInputData () |
Getter for the input data DataGroup. More... | |
const DataStructures::DataGroup & | getOutputData () const |
Getter for the output data DataGroup. More... | |
A class implementing the communication with Natural Point TrackIR camera.
Z is the direction that the camera faces. Y is in the direction of the camera's up. X is the direction to the camera's left (making a right-hand coordinate system).
type | name | |
---|---|---|
pose | "pose" | Device pose (units are meters). |
|
explicit |
Constructor.
uniqueName | A unique name for the device. |
|
overridevirtual |
Fully initialize the device.
When the manager object creates the device, the internal state of the device usually isn't fully initialized yet. This method performs any needed initialization.
Implements SurgSim::Input::DeviceInterface.
|
overridevirtual |
Implements SurgSim::Input::DeviceInterface.
void SurgSim::Devices::TrackIRDevice::setOrientationScale | ( | double | scale | ) |
Sets the orientation scale for this device.
The orientation scale controls how much the pose changes for a given device rotation. The default value for a raw device tries to correspond to the actual physical motion of the device.
void SurgSim::Devices::TrackIRDevice::setPositionScale | ( | double | scale | ) |
Sets the position scale for this device.
The position scale controls how much the pose changes for a given device translation. The default value for a raw device tries to correspond to the actual physical motion of the device.