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:

## 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

## ~OutputProducerInterface()

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

inline virtual

Virtual destructor (empty).

## 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

  | device | The 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] | outputData | The 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 SurgSim::Input::CombiningOutputComponent, SurgSim::Input::OutputComponent, SurgSim::Devices::DeviceFilter, MovingSquareForce, and SurgSim::Testing::MockInputOutput.

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

- SurgSim/Input/OutputProducerInterface.h