opensurgsim
Public Member Functions | List of all members
SurgSim::Input::OutputProducerInterface Class Referenceabstract

Interface for a producer that generates device output updates (forces, status LED state, etc). More...

#include <OutputProducerInterface.h>

Inheritance diagram for SurgSim::Input::OutputProducerInterface:
MovingSquareForce SurgSim::Devices::DeviceFilter SurgSim::Input::OutputComponent SurgSim::Testing::MockInputOutput TestOutputProducer LabJackToPoseFilter MockDeviceFilter SurgSim::Devices::BoolToScalar SurgSim::Devices::ForceScale SurgSim::Devices::PoseIntegrator SurgSim::Devices::PoseTransform SurgSim::Devices::RecordPose SurgSim::Input::CombiningOutputComponent

Public Member Functions

virtual ~OutputProducerInterface ()
 Virtual destructor (empty).
 
virtual bool requestOutput (const std::string &device, SurgSim::DataStructures::DataGroup *outputData)=0
 Asks the producer to provide output state to the device. More...
 

Detailed Description

Interface for a producer that generates device output updates (forces, status LED state, etc).

Member Function Documentation

§ requestOutput()

virtual bool SurgSim::Input::OutputProducerInterface::requestOutput ( const std::string &  device,
SurgSim::DataStructures::DataGroup outputData 
)
pure virtual

Asks the producer to provide output state to the device.

Note that devices may never call this method, e.g. because the device doesn't actually have any output capability.

Typical output data contents (but note that individual devices may do things differently):

type name
vector "force" Commanded force for the device (units are newtons).
vector "torque" Commanded torque for the device (units are newton-meters).
bool "isEnabled" Safety switch input.

Other possible contents includes:

type name
bool "led0" Desired state for LED 0.
bool "led1" Desired state for LED 1.
string "toolId" Calibration ID to use, e.g. for camera devices.
Parameters
deviceThe name of the device that is requesting the output. This should only be used to identify the device (e.g. if the producer is listening to several devices at once).
[out]outputDataThe application output state being fed into the device.
Returns
true if the producer has provided some output, false if it refuses to do so. A producer that returns false should leave outputData unmodified.

Implemented in TestOutputProducer, SurgSim::Input::OutputComponent, SurgSim::Input::CombiningOutputComponent, SurgSim::Devices::DeviceFilter, MovingSquareForce, and SurgSim::Testing::MockInputOutput.


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