![]() |
Namespaces | |
Internal | |
LabJack | |
A collection of checksum functions specifically tailored for the labjackusb driver. | |
Classes | |
class | BitSetBuffer |
A bit set corresponding to a contiguous memory buffer. More... | |
class | BoolToScalar |
Maps the on and off state of two boolean values to the increase and decrease of a scalar field, this for example enables the driving on a scalar value through two buttons on a device, no change occurs when both booleans are true at the same time. More... | |
class | DeviceFilter |
A device filter can be connected between a device and the InputConsumerInterface (e.g., InputComponent) and/or the OutputProducerInterface (e.g., OutputComponent), and can alter the data being passed from/to the device. More... | |
class | FileDescriptor |
A wrapper for an UNIX-style integer file descriptor. More... | |
class | FileHandle |
A wrapper for an Windows-style HANDLE file descriptor. More... | |
class | FilteredDevice |
A DeviceInterface connected in series with one or more DeviceFilters. Useful for serialization. More... | |
class | ForceScale |
An output device filter that scales forces and/or torques. More... | |
class | IdentityPoseDevice |
A class implementing the identity pose device, which is a pretend device that doesn't move. More... | |
class | InputDeviceHandle |
Access to an input/HID device using the Input API in Linux. More... | |
class | KeyboardDevice |
A class implementing the communication with a keyboard. More... | |
class | KeyboardScaffold |
A class that implements the behavior of KeyboardDevice objects. More... | |
class | LabJackDevice |
A class implementing the communication with a LabJack data acquisition (DAQ) device. More... | |
class | LabJackScaffold |
A class that implements the behavior of LabJackDevice objects. More... | |
class | LabJackThread |
A class implementing the thread context for communicating with LabJack devices. More... | |
class | LeapDevice |
A class implementing the communication with one hand tracked by Leap Motion camera. More... | |
class | LeapScaffold |
A class that manages Leap devices. More... | |
class | MouseDevice |
A class implementing the communication with a mouse. More... | |
class | MouseScaffold |
A class that implements the behavior of MouseDevice objects. More... | |
class | MultiAxisDevice |
A class implementing the communication with a multi-axis controller input device, for example a 3DConnexion SpaceNavigator. More... | |
class | NimbleDevice |
A class implementing the communication with the Nimble server. More... | |
class | NimbleScaffold |
A class that manages Nimble devices. More... | |
class | NovintDevice |
A class implementing the communication with a Novint Falcon device. More... | |
class | NovintScaffold |
A class that manages Novint Falcon devices. More... | |
class | OculusDevice |
A class implementing the communication with Oculus Rift DK2. More... | |
class | OculusDisplaySettings |
A customized osg::DisplaySettings, to be used with Oculus device. More... | |
class | OculusScaffold |
A class that manages Oculus Rift DK2 devices. More... | |
class | OculusView |
OculusView is a customization of SurgSim::Graphics::OsgView with projection matrices pulled from the Oculus device. More... | |
class | OpenNIDevice |
A class implementing the communication with one OpenNI compatible depth camera. More... | |
class | OpenNIScaffold |
A class that manages OpenNI devices. More... | |
class | OsgKeyboardHandler |
class | OsgMouseHandler |
class | PhantomDevice |
A class implementing the communication with a SensAble/Geomagic PHANTOM device. More... | |
class | PhantomScaffold |
A class that manages Sensable PHANTOM devices. More... | |
class | PoseIntegrator |
A device filter that integrates the pose, turning a relative device into an absolute one. More... | |
class | PoseTransform |
A device filter that transforms the input pose. More... | |
class | RawMultiAxisDevice |
A class implementing the communication with a multi-axis controller input device, for example a 3DConnexion SpaceNavigator. More... | |
class | RawMultiAxisScaffold |
A class that implements the behavior of RawMultiAxisDevice objects. More... | |
class | RawMultiAxisThread |
A class implementing the thread context for sampling RawMultiAxis devices. More... | |
class | RecordPose |
An input device filter that record the input pose along with the relative time. More... | |
class | ReplayPoseDevice |
A class implementing the replay pose device, which is a pretend device that replays a recorded motion from a file. More... | |
class | ReplayPoseScaffold |
class | SixenseDevice |
A class implementing the communication with one Sixense controller, for example one of the two on the Razer Hydra. More... | |
class | SixenseScaffold |
A class that manages Sixense devices, such as the Razer Hydra. More... | |
class | SixenseThread |
A class implementing the thread context for sampling Sixense devices. More... | |
class | SystemInputDeviceHandle |
A wrapper for system-dependent access to an input/HID device. More... | |
class | TrackIRDevice |
A class implementing the communication with Natural Point TrackIR camera. More... | |
class | TrackIRScaffold |
A class that manages Natural Point TRACKIR devices. More... | |
class | TrackIRThread |
A class implementing the thread context for sampling TrackIR devices. More... | |
class | WdkHidDeviceHandle |
Access to an input/HID device using the HID API from the Windows Driver Kit. More... | |
Enumerations | |
enum | KeyCode { NONE = -1, KEY_SPACE = 0x20, KEY_0 = '0', KEY_1 = '1', KEY_2 = '2', KEY_3 = '3', KEY_4 = '4', KEY_5 = '5', KEY_6 = '6', KEY_7 = '7', KEY_8 = '8', KEY_9 = '9', KEY_A = 'a', KEY_B = 'b', KEY_C = 'c', KEY_D = 'd', KEY_E = 'e', KEY_F = 'f', KEY_G = 'g', KEY_H = 'h', KEY_I = 'i', KEY_J = 'j', KEY_K = 'k', KEY_L = 'l', KEY_M = 'm', KEY_N = 'n', KEY_O = 'o', KEY_P = 'p', KEY_Q = 'q', KEY_R = 'r', KEY_S = 's', KEY_T = 't', KEY_U = 'u', KEY_V = 'v', KEY_W = 'w', KEY_X = 'x', KEY_Y = 'y', KEY_Z = 'z', KEY_EXCLAIM = 0x21, KEY_QUOTEDBL = 0x22, KEY_HASH = 0x23, KEY_DOLLAR = 0x24, KEY_AMPERSAND = 0x26, KEY_QUOTE = 0x27, KEY_LEFTPAREN = 0x28, KEY_RIGHTPAREN = 0x29, KEY_ASTERISK = 0x2A, KEY_PLUS = 0x2B, KEY_COMMA = 0x2C, KEY_MINUS = 0x2D, KEY_PERIOD = 0x2E, KEY_SLASH = 0x2F, KEY_COLON = 0x3A, KEY_SEMICOLON = 0x3B, KEY_LESS = 0x3C, KEY_EQUALS = 0x3D, KEY_GREATER = 0x3E, KEY_QUESTION = 0x3F, KEY_AT = 0x40, KEY_LEFTBRACKET = 0x5B, KEY_BACKSLASH = 0x5C, KEY_RIGHTBRACKET = 0x5D, KEY_CARET = 0x5E, KEY_UNDERSCORE = 0x5F, KEY_BACKQUOTE = 0x60, KEY_BACKSPACE = 0xFF08, KEY_TAB = 0xFF09, KEY_LINEFEED = 0xFF0A, KEY_CLEAR = 0xFF0B, KEY_RETURN = 0xFF0D, KEY_PAUSE = 0xFF13, KEY_SCROLL_LOCK = 0xFF14, KEY_SYS_REQ = 0xFF15, KEY_ESCAPE = 0xFF1B, KEY_DELETE = 0xFFFF, KEY_HOME = 0xFF50, KEY_LEFT = 0xFF51, KEY_UP = 0xFF52, KEY_RIGHT = 0xFF53, KEY_DOWN = 0xFF54, KEY_PRIOR = 0xFF55, KEY_PAGE_UP = 0xFF55, KEY_NEXT = 0xFF56, KEY_PAGE_DOWN = 0xFF56, KEY_END = 0xFF57, KEY_BEGIN = 0xFF58, KEY_SELECT = 0xFF60, KEY_PRINT = 0xFF61, KEY_EXECUTE = 0xFF62, KEY_INSERT = 0xFF63, KEY_UNDO = 0xFF65, KEY_REDO = 0xFF66, KEY_MENU = 0xFF67, KEY_FIND = 0xFF68, KEY_CANCEL = 0xFF69, KEY_HELP = 0xFF6A, KEY_BREAK = 0xFF6B, KEY_MODE_SWITCH = 0xFF7E, KEY_SCRIPT_SWITCH = 0xFF7E, KEY_NUM_LOCK = 0xFF7F, KEY_KP_SPACE = 0xFF80, KEY_KP_TAB = 0xFF89, KEY_KP_ENTER = 0xFF8D, KEY_KP_F1 = 0xFF91, KEY_KP_F2 = 0xFF92, KEY_KP_F3 = 0xFF93, KEY_KP_F4 = 0xFF94, KEY_KP_HOME = 0xFF95, KEY_KP_LEFT = 0xFF96, KEY_KP_UP = 0xFF97, KEY_KP_RIGHT = 0xFF98, KEY_KP_DOWN = 0xFF99, KEY_KP_PRIOR = 0xFF9A, KEY_KP_PAGE_UP = 0xFF9A, KEY_KP_NEXT = 0xFF9B, KEY_KP_PAGE_DOWN = 0xFF9B, KEY_KP_END = 0xFF9C, KEY_KP_BEGIN = 0xFF9D, KEY_KP_INSERT = 0xFF9E, KEY_KP_DELETE = 0xFF9F, KEY_KP_EQUAL = 0xFFBD, KEY_KP_MULTIPLY = 0xFFAA, KEY_KP_ADD = 0xFFAB, KEY_KP_SEPARATOR = 0xFFAC, KEY_KP_SUBTRACT = 0xFFAD, KEY_KP_DECIMAL = 0xFFAE, KEY_KP_DIVIDE = 0xFFAF, KEY_KP_0 = 0xFFB0, KEY_KP_1 = 0xFFB1, KEY_KP_2 = 0xFFB2, KEY_KP_3 = 0xFFB3, KEY_KP_4 = 0xFFB4, KEY_KP_5 = 0xFFB5, KEY_KP_6 = 0xFFB6, KEY_KP_7 = 0xFFB7, KEY_KP_8 = 0xFFB8, KEY_KP_9 = 0xFFB9, KEY_F1 = 0xFFBE, KEY_F2 = 0xFFBF, KEY_F3 = 0xFFC0, KEY_F4 = 0xFFC1, KEY_F5 = 0xFFC2, KEY_F6 = 0xFFC3, KEY_F7 = 0xFFC4, KEY_F8 = 0xFFC5, KEY_F9 = 0xFFC6, KEY_F10 = 0xFFC7, KEY_F11 = 0xFFC8, KEY_F12 = 0xFFC9, KEY_F13 = 0xFFCA, KEY_F14 = 0xFFCB, KEY_F15 = 0xFFCC, KEY_F16 = 0xFFCD, KEY_F17 = 0xFFCE, KEY_F18 = 0xFFCF, KEY_F19 = 0xFFD0, KEY_F20 = 0xFFD1, KEY_F21 = 0xFFD2, KEY_F22 = 0xFFD3, KEY_F23 = 0xFFD4, KEY_F24 = 0xFFD5, KEY_F25 = 0xFFD6, KEY_F26 = 0xFFD7, KEY_F27 = 0xFFD8, KEY_F28 = 0xFFD9, KEY_F29 = 0xFFDA, KEY_F30 = 0xFFDB, KEY_F31 = 0xFFDC, KEY_F32 = 0xFFDD, KEY_F33 = 0xFFDE, KEY_F34 = 0xFFDF, KEY_F35 = 0xFFE0, KEY_SHIFT_L = 0xFFE1, KEY_SHIFT_R = 0xFFE2, KEY_CONTROL_L = 0xFFE3, KEY_CONTROL_R = 0xFFE4, KEY_CAPS_LOCK = 0xFFE5, KEY_SHIFT_LOCK = 0xFFE6, KEY_META_L = 0xFFE7, KEY_META_R = 0xFFE8, KEY_ALT_L = 0xFFE9, KEY_ALT_R = 0xFFEA, KEY_SUPER_L = 0xFFEB, KEY_SUPER_R = 0xFFEC, KEY_HYPER_L = 0xFFED, KEY_HYPER_R = 0xFFEE } |
enum | ModKeyMask { MODKEY_NONE = 0, MODKEY_LEFT_SHIFT = 0x0001, MODKEY_RIGHT_SHIFT = 0x0002, MODKEY_LEFT_CTRL = 0x0004, MODKEY_RIGHT_CTRL = 0x0008, MODKEY_LEFT_ALT = 0x0010, MODKEY_RIGHT_ALT = 0x0020, MODKEY_LEFT_META = 0x0040, MODKEY_RIGHT_META = 0x0080, MODKEY_LEFT_SUPER = 0x0100, MODKEY_RIGHT_SUPER = 0x0200, MODKEY_LEFT_HYPER = 0x0400, MODKEY_RIGHT_HYPER = 0x0800, MODKEY_NUM_LOCK = 0x1000, MODKEY_CAPS_LOCK = 0x2000, MODKEY_CTRL = (MODKEY_LEFT_CTRL|MODKEY_RIGHT_CTRL), MODKEY_SHIFT = (MODKEY_LEFT_SHIFT|MODKEY_RIGHT_SHIFT), MODKEY_ALT = (MODKEY_LEFT_ALT|MODKEY_RIGHT_ALT), MODKEY_META = (MODKEY_LEFT_META|MODKEY_RIGHT_META), MODKEY_SUPER = (MODKEY_LEFT_SUPER|MODKEY_RIGHT_SUPER), MODKEY_HYPER = (MODKEY_LEFT_HYPER|MODKEY_RIGHT_HYPER), MODKEY_CAPS_SHIFT_L = (MODKEY_CAPS_LOCK|MODKEY_LEFT_SHIFT), MODKEY_CAPS_SHIFT_R = (MODKEY_CAPS_LOCK|MODKEY_RIGHT_SHIFT), MODKEY_CAPS_CONTROL_L = (MODKEY_CAPS_LOCK|MODKEY_LEFT_CTRL), MODKEY_CAPS_CONTROL_R = (MODKEY_CAPS_LOCK|MODKEY_RIGHT_CTRL), MODKEY_CAPS_ALT_L = (MODKEY_CAPS_LOCK|MODKEY_LEFT_ALT), MODKEY_CAPS_ALT_R = (MODKEY_CAPS_LOCK|MODKEY_RIGHT_ALT) } |
enum | UsagePageConstants { DEV_USAGE_PAGE_GENERIC_DESKTOP = 0x01 } |
enum | UsageConstants { DEV_USAGE_ID_MOUSE = 0x02, DEV_USAGE_ID_JOYSTICK = 0x04, DEV_USAGE_ID_GAME_PAD = 0x05, DEV_USAGE_ID_KEYBOARD = 0x06, DEV_USAGE_ID_KEYPAD = 0x07, DEV_USAGE_ID_MULTI_AXIS_CONTROLLER = 0x08 } |
Functions | |
std::shared_ptr< DeviceInterface > | createDevice (const std::vector< std::string > &classNames, const std::string &name) |
Attempts to create and initialize a device from a list of devices to try. More... | |
std::shared_ptr< Input::DeviceInterface > | createDevice (const std::string &className, const std::string &name) |
Attempts to create and initialize a device. More... | |
std::shared_ptr< DeviceInterface > | loadDevice (const std::string &fileName) |
Loads a single device from the file, the first device that successfully initializes. More... | |
DataStructures::DataGroup::ImageType | undistortLeapImage (const DataStructures::DataGroup::ImageType &image, const DataStructures::DataGroup::ImageType &distortion) |
Correct an infrared image from the LeapDevice, given its distortion callibration map. More... | |
std::unique_ptr< SystemInputDeviceHandle > | createInputDeviceHandle (const std::string &path, std::shared_ptr< SurgSim::Framework::Logger > logger) |
Opens the given path and creates an access wrapper for the device. More... | |
std::vector< std::string > | enumerateInputDevicePaths (SurgSim::Framework::Logger *logger) |
Enumerates input devices. More... | |
std::shared_ptr< Input::DeviceInterface > SurgSim::Devices::createDevice | ( | const std::vector< std::string > & | classNames, |
const std::string & | name | ||
) |
Attempts to create and initialize a device from a list of devices to try.
classNames | The fully-qualified device class names to try. The elements will be tried in order, front to back. |
name | The name to be given to the created device |
std::shared_ptr< Input::DeviceInterface > SurgSim::Devices::createDevice | ( | const std::string & | className, |
const std::string & | name | ||
) |
Attempts to create and initialize a device.
className | The fully-qualified device class name to try. |
name | The name to be given to the created device |
std::unique_ptr< SystemInputDeviceHandle > SurgSim::Devices::createInputDeviceHandle | ( | const std::string & | path, |
std::shared_ptr< SurgSim::Framework::Logger > | logger | ||
) |
Opens the given path and creates an access wrapper for the device.
path | Full pathname for the device. |
logger | The logger to be used by the device. |
std::vector< std::string > SurgSim::Devices::enumerateInputDevicePaths | ( | SurgSim::Framework::Logger * | logger | ) |
Enumerates input devices.
logger | The logger to be used during enumeration. |
std::shared_ptr< Input::DeviceInterface > SurgSim::Devices::loadDevice | ( | const std::string & | fileName | ) |
Loads a single device from the file, the first device that successfully initializes.
The file format should be just a list of DeviceInterfaces
fileName | the filename of the devices to be loaded, needs to be found |
If | the file cannot be found or is an invalid file |
DataStructures::DataGroup::ImageType SurgSim::Devices::undistortLeapImage | ( | const DataStructures::DataGroup::ImageType & | image, |
const DataStructures::DataGroup::ImageType & | distortion | ||
) |
Correct an infrared image from the LeapDevice, given its distortion callibration map.
image | The distorted infrared image |
distortion | The distortion callibration map |