14#ifndef VRPN_ANALOG_5DTUSB_H
15#define VRPN_ANALOG_5DTUSB_H
20#include "vrpn_Analog.h"
21#include "vrpn_Configure.h"
22#include "vrpn_Connection.h"
23#include "vrpn_HumanInterface.h"
24#include "vrpn_Shared.h"
25#include "vrpn_Types.h"
27#if defined(VRPN_USE_HID)
95 void report_changes(vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
97 void report(vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
103 vrpn_Analog_5dtUSB_Glove5Left(
const char *name,
vrpn_Connection *c = 0);
104 virtual ~vrpn_Analog_5dtUSB_Glove5Left() {};
110 vrpn_Analog_5dtUSB_Glove5Right(
const char *name,
vrpn_Connection *c = 0);
111 virtual ~vrpn_Analog_5dtUSB_Glove5Right() {};
118 vrpn_Analog_5dtUSB_Glove14Left(
const char *name,
vrpn_Connection *c = 0);
119 virtual ~vrpn_Analog_5dtUSB_Glove14Left() {};
126 vrpn_Analog_5dtUSB_Glove14Right(
const char *name,
vrpn_Connection *c = 0);
127 virtual ~vrpn_Analog_5dtUSB_Glove14Right() {};
134 vrpn_HidProductMaskAcceptor(vrpn_uint16 vendorId, vrpn_uint16 productMask = 0x0000, vrpn_uint16 desiredProduct = 0x0000) :
139 ~vrpn_HidProductMaskAcceptor() {}
142 return (device.vendor == vendor) && ((device.product & mask) == (product & mask));
vrpn_Analog_5dtUSB(vrpn_HidAcceptor *filter, int num_sensors, bool isLeftHand, const char *name, vrpn_Connection *c=0)
Protected constructor: use a subclass to specify the glove variant to use.
virtual ~vrpn_Analog_5dtUSB()
Destructor
void on_data_received(size_t bytes, vrpn_uint8 *buffer)
Extracts the sensor values from each report.
bool _isLeftHand
Flag for left handedness.
定义 vrpn_Analog_5dtUSB.h:87
std::string get_description() const
virtual void mainloop()
Standard VRPN mainloop method.
bool _wasConnected
定义 vrpn_Analog_5dtUSB.h:92
void report_changes(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY)
Send report iff changed
bool isRightHand() const
Accessor to know if this is a right hand glove.
定义 vrpn_Analog_5dtUSB.h:67
struct timeval _timestamp
Timestamp updated during mainloop()
定义 vrpn_Analog_5dtUSB.h:80
void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY)
Send report whether or not changed
bool isLeftHand() const
Accessor to know if this is a left hand glove.
定义 vrpn_Analog_5dtUSB.h:64
double _rawVals[16]
定义 vrpn_Analog_5dtUSB.h:84
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_HumanInterface.h:56
vrpn_uint16 product() const
vrpn_HidInterface(vrpn_HidAcceptor *acceptor, vrpn_uint16 vendor=0, vrpn_uint16 product=0, hid_device *device=NULL)
vrpn_uint16 vendor() const
定义 vrpn_HumanInterface.h:40