![]() |
RflySimSDK v3.05
RflySimSDK说明文档
|
Public 成员函数 | |
vrpn_Tracker_NDI_Polaris (const char *name, vrpn_Connection *c, const char *port, int numOfRigidBodies, const char **rigidBodyNDIRomFileNames) | |
virtual void | mainloop () |
![]() | |
vrpn_Tracker (const char *name, vrpn_Connection *c=NULL, const char *tracker_cfg_file_name=NULL) | |
int | read_config_file (FILE *config_file, const char *tracker_name) |
void | print_latest_report (void) |
int | register_server_handlers (void) |
void | get_local_t2r (vrpn_float64 *vec, vrpn_float64 *quat) |
void | get_local_u2s (vrpn_int32 sensor, vrpn_float64 *vec, vrpn_float64 *quat) |
![]() | |
vrpn_BaseClass (const char *name, vrpn_Connection *c=NULL) | |
![]() | |
vrpn_Connection * | connectionPtr () |
Returns a pointer to the connection this object is using | |
Protected 类型 | |
enum | { NDI_ROMFILE_CHUNK_SIZE =64 } |
enum | { MAX_NDI_ROM_FILE_SIZE_IN_BYTES =1024 } |
enum | { MAX_NDI_RESPONSE_LENGTH =300 } |
enum | { VRPN_MSGBUFSIZE =1024 } |
Protected 成员函数 | |
virtual int | get_report (void) |
virtual void | send_report (void) |
void | sendCommand (const char *commandString) |
int | readResponse () |
int | convertBinaryFileToAsciiEncodedHex (const char *filename, char *asciiEncodedHexStr) |
unsigned int | parse2CharIntFromNDIResponse (unsigned char *str, int *strIndexPtr=NULL) |
float | parse6CharFloatFromNDIResponse (unsigned char *str, int *strIndexPtr) |
float | parse7CharFloatFromNDIResponse (unsigned char *str, int *strIndexPtr) |
int | setupOneTool (const char *NDIToolRomFilename) |
void | switchToHigherBaudRate (const char *port) |
![]() | |
bool | ensure_enough_unit2sensors (unsigned num) |
virtual int | register_types (void) |
virtual int | encode_to (char *buf) |
virtual int | encode_vel_to (char *buf) |
virtual int | encode_acc_to (char *buf) |
virtual int | encode_tracker2room_to (char *buf) |
virtual int | encode_unit2sensor_to (char *buf) |
virtual int | encode_workspace_to (char *buf) |
![]() | |
virtual int | init (void) |
virtual int | register_senders (void) |
![]() | |
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 属性 | |
int | serialFd |
int | numOfRigidBodies |
unsigned char | latestResponseStr [MAX_NDI_RESPONSE_LENGTH] |
![]() | |
vrpn_int32 | position_m_id |
vrpn_int32 | velocity_m_id |
vrpn_int32 | accel_m_id |
vrpn_int32 | tracker2room_m_id |
vrpn_int32 | unit2sensor_m_id |
vrpn_int32 | request_t2r_m_id |
vrpn_int32 | request_u2s_m_id |
vrpn_int32 | request_workspace_m_id |
vrpn_int32 | workspace_m_id |
vrpn_int32 | update_rate_id |
vrpn_int32 | connection_dropped_m_id |
vrpn_int32 | reset_origin_m_id |
vrpn_int32 | d_sensor |
vrpn_float64 | pos [3] |
vrpn_float64 | d_quat [4] |
vrpn_float64 | vel [3] |
vrpn_float64 | vel_quat [4] |
vrpn_float64 | vel_quat_dt |
vrpn_float64 | acc [3] |
vrpn_float64 | acc_quat [4] |
vrpn_float64 | acc_quat_dt |
struct timeval | timestamp |
vrpn_int32 | frame_count |
struct timeval | watchdog_timestamp |
vrpn_float64 | tracker2room [3] |
vrpn_float64 | tracker2room_quat [4] |
vrpn_int32 | num_sensors |
vrpn_Tracker_Pos * | unit2sensor |
vrpn_Tracker_Quat * | unit2sensor_quat |
unsigned | num_unit2sensors |
vrpn_float64 | workspace_min [3] |
vrpn_float64 | workspace_max [3] |
int | status |
![]() | |
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 | |
额外继承的成员函数 | |
![]() | |
static int VRPN_CALLBACK | handle_t2r_request (void *userdata, vrpn_HANDLERPARAM p) |
static int VRPN_CALLBACK | handle_u2s_request (void *userdata, vrpn_HANDLERPARAM p) |
static int VRPN_CALLBACK | handle_workspace_request (void *userdata, vrpn_HANDLERPARAM p) |
![]() | |
bool | shutup |
![]() | |
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 | |
vrpn_Tracker_NDI_Polaris | ( | const char * | name, |
vrpn_Connection * | c, | ||
const char * | port, | ||
int | numOfRigidBodies, | ||
const char ** | rigidBodyNDIRomFileNames ) |
The constructor is given the name of the tracker (the name of the sender it should use), the connection on which it is to send its messages, the name of the serial port it is to open. The final two parameters are the number of rigid bodies to track, and a pointer to an array of strings containing the filenames of the the .rom file for each rigid body.
|
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.