Public 成员函数 | |
vrpn_3DConnexion (vrpn_HidAcceptor *filter, unsigned num_buttons, const char *name, vrpn_Connection *c=0, vrpn_uint16 vendor=0, vrpn_uint16 product=0) | |
virtual void | mainloop () |
Public 成员函数 继承自 vrpn_Button_Filter | |
virtual void | set_momentary (vrpn_int32 which_button) |
virtual void | set_toggle (vrpn_int32 which_button, vrpn_int32 current_state) |
virtual void | set_all_momentary (void) |
virtual void | set_all_toggle (vrpn_int32 default_state) |
void | set_alerts (vrpn_int32) |
Public 成员函数 继承自 vrpn_Button | |
vrpn_Button (const char *name, vrpn_Connection *c=NULL) | |
void | print (void) |
Public 成员函数 继承自 vrpn_BaseClass | |
vrpn_BaseClass (const char *name, vrpn_Connection *c=NULL) | |
Public 成员函数 继承自 vrpn_BaseClassUnique | |
vrpn_Connection * | connectionPtr () |
Returns a pointer to the connection this object is using | |
Public 成员函数 继承自 vrpn_Analog | |
vrpn_Analog (const char *name, vrpn_Connection *c=NULL) | |
void | print (void) |
vrpn_int32 | getNumChannels (void) const |
Protected 成员函数 | |
void | on_data_received (size_t bytes, vrpn_uint8 *buffer) |
Derived class reimplements this callback. It is called whenever a read returns some data. | |
virtual void | decodePacket (size_t bytes, vrpn_uint8 *buffer) |
void | report_changes (vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY) |
void | report (vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY) |
Protected 成员函数 继承自 vrpn_Button_Filter | |
vrpn_Button_Filter (const char *, vrpn_Connection *c=NULL) | |
virtual vrpn_int32 | encode_states_to (char *buf) |
virtual void | report_changes (void) |
Protected 成员函数 继承自 vrpn_Button | |
virtual int | register_types (void) |
virtual void | report_states (void) |
virtual vrpn_int32 | encode_to (char *buf, vrpn_int32 button, vrpn_int32 state) |
Protected 成员函数 继承自 vrpn_BaseClass | |
virtual int | init (void) |
virtual int | register_senders (void) |
Protected 成员函数 继承自 vrpn_BaseClassUnique | |
int | register_autodeleted_handler (vrpn_int32 type, vrpn_MESSAGEHANDLER handler, void *userdata, vrpn_int32 sender=vrpn_ANY_SENDER) |
int | send_text_message (const char *msg, struct timeval timestamp, vrpn_TEXT_SEVERITY type=vrpn_TEXT_NORMAL, vrpn_uint32 level=0) |
Sends a NULL-terminated text message from the device d_sender_id | |
SendTextMessageBoundCall | send_text_message (vrpn_TEXT_SEVERITY type=vrpn_TEXT_NORMAL) |
void | server_mainloop (void) |
void | client_mainloop (void) |
Protected 成员函数 继承自 vrpn_Analog | |
virtual int | register_types (void) |
virtual vrpn_int32 | encode_to (char *buf) |
virtual void | report_changes (vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW) |
virtual void | report (vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW) |
Protected 成员函数 继承自 vrpn_HidInterface | |
void | send_data (size_t bytes, const vrpn_uint8 *buffer) |
Call this to send data to the device | |
void | send_feature_report (size_t bytes, const vrpn_uint8 *buffer) |
int | get_feature_report (size_t bytes, vrpn_uint8 *buffer) |
vrpn_HidInterface (vrpn_HidAcceptor *acceptor, vrpn_uint16 vendor=0, vrpn_uint16 product=0, hid_device *device=NULL) | |
vrpn_HidInterface (vrpn_HidAcceptor *acceptor, hid_device *device) | |
vrpn_HidInterface (const char *device_path, vrpn_HidAcceptor *acceptor, vrpn_uint16 vendor=0, vrpn_uint16 product=0) | |
virtual bool | connected () const |
Returns true iff the last device I/O succeeded | |
virtual void | update () |
virtual bool | reconnect () |
vrpn_uint16 | vendor () const |
vrpn_uint16 | product () const |
int | interface_number () const |
Protected 属性 | |
struct timeval | _timestamp |
vrpn_HidAcceptor * | _filter |
Protected 属性 继承自 vrpn_Button_Filter | |
int | send_alerts |
vrpn_int32 | alert_message_id |
Protected 属性 继承自 vrpn_Button | |
unsigned char | buttons [vrpn_BUTTON_MAX_BUTTONS] |
unsigned char | lastbuttons [vrpn_BUTTON_MAX_BUTTONS] |
vrpn_int32 | minrate [vrpn_BUTTON_MAX_BUTTONS] |
vrpn_int32 | num_buttons |
struct timeval | timestamp |
vrpn_int32 | change_message_id |
vrpn_int32 | states_message_id |
vrpn_int32 | admin_message_id |
Protected 属性 继承自 vrpn_BaseClassUnique | |
vrpn_Connection * | d_connection |
Connection that this object talks to | |
char * | d_servicename |
vrpn_int32 | d_sender_id |
part | |
vrpn_int32 | d_text_message_id |
ID for text messages | |
vrpn_int32 | d_ping_message_id |
Ask the server if they are there | |
vrpn_int32 | d_pong_message_id |
Server telling that it is there | |
Protected 属性 继承自 vrpn_Analog | |
vrpn_float64 | channel [vrpn_CHANNEL_MAX] |
vrpn_float64 | last [vrpn_CHANNEL_MAX] |
vrpn_int32 | num_channel |
struct timeval | timestamp |
vrpn_int32 | channel_m_id |
int | status |
Protected 属性 继承自 vrpn_HidInterface | |
vrpn_HidAcceptor * | m_acceptor |
This is the HidAcceptor we use when reconnecting. | |
bool | m_working |
vrpn_uint16 | m_vendor |
vrpn_uint16 | m_product |
int | m_interface |
vrpn_uint16 | m_vendor_sought |
What vendor we want | |
vrpn_uint16 | m_product_sought |
What product we want |
额外继承的成员函数 | |
Public 属性 继承自 vrpn_Button_Filter | |
vrpn_int32 | buttonstate [vrpn_BUTTON_MAX_BUTTONS] |
Public 属性 继承自 vrpn_BaseClassUnique | |
bool | shutup |
静态 Protected 成员函数 继承自 vrpn_Button_Filter | |
static int VRPN_CALLBACK | handle_ping_message (void *userdata, vrpn_HANDLERPARAM p) |
静态 Protected 成员函数 继承自 vrpn_BaseClassUnique | |
static int | encode_text_message_to_buffer (char *buf, vrpn_TEXT_SEVERITY severity, vrpn_uint32 level, const char *msg) |
static int | decode_text_message_from_buffer (char *msg, vrpn_TEXT_SEVERITY *severity, vrpn_uint32 *level, const char *buf) |
Decodes the body of the text message from a buffer from the connection |
|
virtual |
Called once through each main loop iteration to handle updates. Remote object mainloop() should call client_mainloop() and then call d_connection->mainloop(). Server object mainloop() should service the device and then call server_mainloop(), but should not normally call d_connection->mainloop().
实现了 vrpn_BaseClass.
|
protectedvirtual |
Derived class reimplements this callback. It is called whenever a read returns some data.
WARNING! The data returned by this function differs when the device sends multiple report types and when it only has one. When it can have more than one, the report type is sent as the first byte. When it only has one, the report type is NOT included. This is the behavior of the HIDAPI library we are using. It is surprising to me, but that's how it behaves.
实现了 vrpn_HidInterface.