RflySimSDK v3.05
RflySimSDK说明文档
载入中...
搜索中...
未找到
vrpn_Tracker_Fastrak类 参考
+ 类 vrpn_Tracker_Fastrak 继承关系图:
+ vrpn_Tracker_Fastrak 的协作图:

Public 成员函数

 vrpn_Tracker_Fastrak (const char *name, vrpn_Connection *c, const char *port="/dev/ttyS1", long baud=19200, int enable_filtering=1, int numstations=vrpn_FASTRAK_MAX_STATIONS, const char *additional_reset_commands=NULL, int is900_timestamps=0)
 
int add_fastrak_stylus_button (const char *button_device_name, int sensor, int numbuttons=1)
 
int add_is900_button (const char *button_device_name, int sensor, int numbuttons=5)
 
int add_is900_analog (const char *analog_device_name, int sensor, double c0Min=-1, double c0Low=0, double c0Hi=0, double c0Max=1, double c1Min=-1, double c1Low=0, double c1Hi=0, double c1Max=1)
 
- Public 成员函数 继承自 vrpn_Tracker_Serial
 vrpn_Tracker_Serial (const char *name, vrpn_Connection *c, const char *port="/dev/ttyS1", long baud=38400)
 
virtual void mainloop ()
 
- Public 成员函数 继承自 vrpn_Tracker
 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)
 
- 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 成员函数

virtual int get_report (void)
 
virtual void reset ()
 Reset the tracker.
 
int set_sensor_output_format (int sensor)
 Augments the basic Fastrak format to include IS900 features if needed
 
int report_length (int sensor)
 Augments the basic Fastrak report length to include IS900 features if needed
 
- Protected 成员函数 继承自 vrpn_Tracker_Serial
virtual void send_report (void)
 
- Protected 成员函数 继承自 vrpn_Tracker
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)
 
- 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 属性

struct timeval reset_time
 
int do_filter
 
int num_stations
 
char add_reset_cmd [2048]
 
int num_resets
 
bool really_fastrak
 
int do_is900_timestamps
 
struct timeval is900_zerotime
 
vrpn_Button_Serveris900_buttons [vrpn_FASTRAK_MAX_STATIONS]
 
vrpn_Clipping_Analog_Serveris900_analogs [vrpn_FASTRAK_MAX_STATIONS]
 
vrpn_uint32 REPORT_LEN
 
- Protected 属性 继承自 vrpn_Tracker_Serial
char portname [VRPN_TRACKER_BUF_SIZE]
 
long baudrate
 
int serial_fd
 
unsigned char buffer [VRPN_TRACKER_BUF_SIZE]
 
vrpn_uint32 bufcount
 
- Protected 属性 继承自 vrpn_Tracker
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
 
- 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
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 vrpn_Tracker
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)
 
- 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
 

构造及析构函数说明

◆ vrpn_Tracker_Fastrak()

vrpn_Tracker_Fastrak ( const char * name,
vrpn_Connection * c,
const char * port = "/dev/ttyS1",
long baud = 19200,
int enable_filtering = 1,
int numstations = vrpn_FASTRAK_MAX_STATIONS,
const char * additional_reset_commands = NULL,
int is900_timestamps = 0 )

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 (default is /dev/ttyS1 (first serial port in Linux)), the baud rate at which it is to communicate (default 19200), whether filtering is enabled (default yes), and the number of stations that are possible on this Fastrak (default 4). The station select switches on the front of the Fastrak determine which stations are active. The final parameter is a string that can contain additional commands that are set to the tracker as part of its reset routine. These might be used to set the hemisphere or other things that are not normally included; see the Fastrak manual for a list of these. There can be multiple lines of them but putting <CR> into the string.

成员函数说明

◆ add_is900_analog()

int add_is900_analog ( const char * analog_device_name,
int sensor,
double c0Min = -1,
double c0Low = 0,
double c0Hi = 0,
double c0Max = 1,
double c1Min = -1,
double c1Low = 0,
double c1Hi = 0,
double c1Max = 1 )

Add the analog part of an IS900 joystick device to one of the sensors This allows configuration of an InterSense IS-900 The optional parameters specify the clipping and scaling to take the reports from the two joystick axes into the range [-1..1]. The default is unscaled.

◆ add_is900_button()

int add_is900_button ( const char * button_device_name,
int sensor,
int numbuttons = 5 )

Add an IS900 button device to one of the sensors This allows configuration of an InterSense IS-900

◆ get_report()

virtual int get_report ( void )
protectedvirtual

Gets a report if one is available, returns 0 if not, 1 if complete report.

实现了 vrpn_Tracker_Serial.

◆ report_length()

int report_length ( int sensor)
protected

Augments the basic Fastrak report length to include IS900 features if needed

◆ reset()

virtual void reset ( )
protectedvirtual

Reset the tracker.

实现了 vrpn_Tracker_Serial.

◆ set_sensor_output_format()

int set_sensor_output_format ( int sensor)
protected

Augments the basic Fastrak format to include IS900 features if needed


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