All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 <SurgSim/Input/OutputProducerInterface.h>

Inheritance diagram for SurgSim::Input::OutputProducerInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~OutputProducerInterface ()
 Virtual destructor (empty). More...
 
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).

Constructor & Destructor Documentation

virtual SurgSim::Input::OutputProducerInterface::~OutputProducerInterface ( )
inlinevirtual

Virtual destructor (empty).

Member Function Documentation

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 LabJackToPoseFilter, SurgSim::Device::PoseTransform, SurgSim::Device::ForceScale, SurgSim::Device::PoseIntegrator, SurgSim::Input::OutputProducer, MovingSquareForce, and SurgSim::Testing::MockInputOutput.


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