Go to the documentation of this file.
16 #ifndef SURGSIM_DEVICES_MULTIAXIS_RAWMULTIAXISSCAFFOLD_H
17 #define SURGSIM_DEVICES_MULTIAXIS_RAWMULTIAXISSCAFFOLD_H
30 class RawMultiAxisDevice;
31 class RawMultiAxisThread;
32 class SystemInputDeviceHandle;
127 std::unique_ptr<SystemInputDeviceHandle>
openDevice(
const std::string& path);
135 std::shared_ptr<SurgSim::Framework::Logger>
m_logger;
143 #endif // SURGSIM_DEVICES_MULTIAXIS_RAWMULTIAXISSCAFFOLD_H
bool runInputFrame(DeviceData *info)
Executes the operations for a single input frame for a single device.
Definition: RawMultiAxisScaffold.cpp:285
static SurgSim::DataStructures::DataGroup buildDeviceInputData()
Builds the data layout for the application input (i.e. device output).
Definition: RawMultiAxisScaffold.cpp:548
std::shared_ptr< SurgSim::Framework::Logger > m_logger
Logger used by the scaffold and all devices.
Definition: RawMultiAxisScaffold.h:135
bool updateDevice(DeviceData *info)
Updates the device information for a single device.
Definition: RawMultiAxisScaffold.cpp:319
bool findUnusedDeviceAndRegister(RawMultiAxisDevice *device, int *numUsedDevicesSeen)
Scans hardware that is present in the system, and if an unused device is found, register an object fo...
Definition: RawMultiAxisScaffold.cpp:424
std::unique_ptr< SystemInputDeviceHandle > openDevice(const std::string &path)
Opens the specified device.
Definition: RawMultiAxisScaffold.cpp:412
RawMultiAxisScaffold()
Constructor.
Definition: RawMultiAxisScaffold.cpp:173
static std::shared_ptr< RawMultiAxisScaffold > getOrCreateSharedInstance()
Gets or creates the scaffold shared by all RawMultiAxisDevice instances.
Definition: RawMultiAxisScaffold.cpp:559
bool createPerDeviceThread(DeviceData *data)
Creates the input loop thread.
Definition: RawMultiAxisScaffold.cpp:526
Definition: CompoundShapeToGraphics.cpp:29
bool runAfterLastFrame(DeviceData *info)
Executes the operations after the last input frame, as the device input loop thread is shutting down.
Definition: RawMultiAxisScaffold.cpp:296
bool destroyPerDeviceThread(DeviceData *data)
Destroys the input loop thread.
Definition: RawMultiAxisScaffold.cpp:537
A collection of NamedData objects.
Definition: DataGroup.h:68
A class implementing the thread context for sampling RawMultiAxis devices.
Definition: RawMultiAxisThread.h:33
void setAxisDominance(const RawMultiAxisDevice *device, bool onOff)
Turns on or off the axis dominance setting for this device.
Definition: RawMultiAxisScaffold.cpp:273
Definition: RawMultiAxisScaffold.cpp:152
bool unregisterDevice(const RawMultiAxisDevice *device)
Unregisters the specified device object.
Definition: RawMultiAxisScaffold.cpp:225
bool registerDevice(RawMultiAxisDevice *device)
Registers the specified device object.
Definition: RawMultiAxisScaffold.cpp:202
void setPositionScale(const RawMultiAxisDevice *device, double scale)
Sets the position scale for this device.
Definition: RawMultiAxisScaffold.cpp:249
bool registerIfUnused(const std::string &path, RawMultiAxisDevice *device, int *numUsedDevicesSeen)
Register a device object given a device path, if the same path is not already in use.
Definition: RawMultiAxisScaffold.cpp:493
void setOrientationScale(const RawMultiAxisDevice *device, double scale)
Sets the orientation scale for this device.
Definition: RawMultiAxisScaffold.cpp:261
A class implementing the communication with a multi-axis controller input device, for example a 3DCon...
Definition: RawMultiAxisDevice.h:56
A class that implements the behavior of RawMultiAxisDevice objects.
Definition: RawMultiAxisScaffold.h:37
Definition: RawMultiAxisScaffold.cpp:59
std::unique_ptr< StateData > m_state
Internal scaffold state.
Definition: RawMultiAxisScaffold.h:137
~RawMultiAxisScaffold()
Destructor.
Definition: RawMultiAxisScaffold.cpp:180