RflySimSDK v4.01
RflySimSDK说明文档
载入中...
搜索中...
未找到
vrpn_Oculus类 参考abstract

Oculus Rift head-mounted display base class 更多...

#include <vrpn_Oculus.h>

类 vrpn_Oculus 继承关系图:
vrpn_Oculus 的协作图:

Public 成员函数

virtual ~vrpn_Oculus ()
 Destructor.
virtual void mainloop ()
Public 成员函数 继承自 vrpn_Analog
 vrpn_Analog (const char *name, vrpn_Connection *c=NULL)
void print (void)
vrpn_int32 getNumChannels (void) const
Public 成员函数 继承自 vrpn_BaseClass
 vrpn_BaseClass (const char *name, vrpn_Connection *c=NULL)
Public 成员函数 继承自 vrpn_BaseClassUnique
vrpn_ConnectionconnectionPtr ()
 Returns a pointer to the connection this object is using

Protected 成员函数

 vrpn_Oculus (vrpn_uint16 product_id, vrpn_uint8 num_channels, const char *name, vrpn_Connection *c=NULL, double keepAliveSeconds=9.0)
 Protected constructor so you can't instantiate this base class.
virtual bool parse_message (std::size_t bytes, vrpn_uint8 *buffer)
void parse_message_type_1 (std::size_t bytes, vrpn_uint8 *buffer)
 Parse and send reports for type-1 message
void on_data_received (std::size_t bytes, vrpn_uint8 *buffer)
virtual void writeKeepAlive (vrpn_uint16 interval=10000, vrpn_uint16 commandId=0)=0
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_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_HidInterface
virtual void on_data_received (size_t bytes, vrpn_uint8 *buffer)=0
 Derived class reimplements this callback. It is called whenever a read returns some data.
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 属性

vrpn_HidAcceptorm_filter
struct timeval d_timestamp
 Timestamp updated during mainloop()
double d_keepAliveSeconds
struct timeval d_lastKeepAlive
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_BaseClassUnique
vrpn_Connectiond_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_HidInterface
vrpn_HidAcceptorm_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_BaseClassUnique
bool shutup
静态 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

详细描述

Oculus Rift head-mounted display base class

构造及析构函数说明

◆ ~vrpn_Oculus()

virtual ~vrpn_Oculus ( )
virtual

Destructor.

◆ vrpn_Oculus()

vrpn_Oculus ( vrpn_uint16 product_id,
vrpn_uint8 num_channels,
const char * name,
vrpn_Connection * c = NULL,
double keepAliveSeconds = 9.0 )
protected

Protected constructor so you can't instantiate this base class.

参数
product_idUSB Device ID for this device.
num_channelsNumber of analog channels on the device.
nameName of the device.
cOptional vrpn_Connection pointer to use as our connection.
keepAliveSecondsHow often to send keepalive message

成员函数说明

◆ mainloop()

virtual void mainloop ( )
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.

◆ on_data_received()

void on_data_received ( std::size_t bytes,
vrpn_uint8 * buffer )
protected

Extracts the sensor values from each report and calls the appropriate parser.

◆ parse_message_type_1()

void parse_message_type_1 ( std::size_t bytes,
vrpn_uint8 * buffer )
protected

Parse and send reports for type-1 message

类成员变量说明

◆ d_keepAliveSeconds

double d_keepAliveSeconds
protected

How often to send the keepAlive message to the Rift (triggers the LEDs if available)

◆ d_timestamp

struct timeval d_timestamp
protected

Timestamp updated during mainloop()


该类的文档由以下文件生成: