vrpn 07.35
Virtual Reality Peripheral Network
 
Loading...
Searching...
No Matches
vrpn_Tracker_PhaseSpace Class Reference

#include <vrpn_Tracker_PhaseSpace.h>

Inheritance diagram for vrpn_Tracker_PhaseSpace:
Collaboration diagram for vrpn_Tracker_PhaseSpace:

Public Member Functions

 vrpn_Tracker_PhaseSpace (const char *name, vrpn_Connection *c)
 
 vrpn_Tracker_PhaseSpace (const char *name, vrpn_Connection *c, const char *device, float frequency, int readflag, int slaveflag=0)
 
 ~vrpn_Tracker_PhaseSpace ()
 
virtual void mainloop ()
 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().
 
bool load (FILE *file)
 
bool InitOWL ()
 
bool enableStreaming (bool enable)
 
- Public Member Functions inherited from vrpn_Tracker
 vrpn_Tracker (const char *name, vrpn_Connection *c=NULL, const char *tracker_cfg_file_name=NULL)
 
virtual ~vrpn_Tracker (void)
 
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 Member Functions inherited from vrpn_BaseClass
 vrpn_BaseClass (const char *name, vrpn_Connection *c=NULL)
 Names the device and assigns or opens connection, calls registration methods.
 
virtual ~vrpn_BaseClass ()
 
- Public Member Functions inherited from vrpn_BaseClassUnique
 vrpn_BaseClassUnique ()
 
virtual ~vrpn_BaseClassUnique ()
 Unregister all of the message handlers that were to be autodeleted.
 
vrpn_ConnectionconnectionPtr ()
 Returns a pointer to the connection this object is using.
 
- Public Member Functions inherited from 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 Member Functions inherited from vrpn_Button
 vrpn_Button (const char *name, vrpn_Connection *c=NULL)
 
virtual ~vrpn_Button (void)
 
void print (void)
 
- Public Member Functions inherited from vrpn_Clipping_Analog_Server
 vrpn_Clipping_Analog_Server (const char *name, vrpn_Connection *c, vrpn_int32 numChannels=vrpn_CHANNEL_MAX)
 
int setClipValues (int channel, double min, double lowzero, double highzero, double max)
 Set the clipping values for the specified channel. min maps to -1, values between lowzero and highzero map to 0, max maps to 1. Values less than min map to -1, values larger than max map to 1. Default for each channel is -1,0,0,1 It is possible to compress the range to [0..1] by setting the minimum equal to the lowzero. Returns 0 on success, -1 on failure.
 
int setChannelValue (int channel, double value)
 This method should be used to set the value of a channel. It will be scaled and clipped as described in setClipValues. It returns 0 on success and -1 on failure.
 
- Public Member Functions inherited from vrpn_Analog_Server
 vrpn_Analog_Server (const char *name, vrpn_Connection *c, vrpn_int32 numChannels=vrpn_CHANNEL_MAX)
 
virtual void report_changes (vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
 Makes public the protected base class function.
 
virtual void report (vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
 Makes public the protected base class function.
 
vrpn_float64 * channels (void)
 Exposes an array of values for the user to write into.
 
vrpn_int32 setNumChannels (vrpn_int32 sizeRequested)
 Sets the size of the array; returns the size actually set. (May be clamped to vrpn_CHANNEL_MAX) This should be used before mainloop is ever called.
 
- Public Member Functions inherited from vrpn_Analog
 vrpn_Analog (const char *name, vrpn_Connection *c=NULL)
 
void print (void)
 
vrpn_int32 getNumChannels (void) const
 

Static Public Member Functions

static int VRPN_CALLBACK handle_update_rate_request (void *userdata, vrpn_HANDLERPARAM p)
 
- Static Public Member Functions inherited from 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 Attributes

bool debug
 
- Public Attributes inherited from vrpn_BaseClassUnique
bool shutup
 
- Public Attributes inherited from vrpn_Button_Filter
vrpn_int32 buttonstate [vrpn_BUTTON_MAX_BUTTONS]
 

Protected Member Functions

virtual int get_report (void)
 
virtual void send_report (void)
 
bool create_trackers ()
 
void set_pose (const OWL::Rigid &r)
 
void report_marker (vrpn_int32 sensor, const OWL::Marker &m)
 
void report_rigid (vrpn_int32 sensor, const OWL::Rigid &r, bool is_stylus=false)
 
void report_button (vrpn_int32 sensor, int value)
 
void report_button_analog (vrpn_int32 sensor, int value)
 
- Protected Member Functions inherited from vrpn_Tracker
bool ensure_enough_unit2sensors (unsigned num)
 
virtual int register_types (void)
 Register the types of messages this device sends/receives. Return 0 on success, -1 on fail.
 
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)
 Encodes the "Tracker to Room" transformation into the buffer specified.
 
virtual int encode_unit2sensor_to (char *buf)
 Encodes the "Unit to Sensor" transformation into the buffer specified.
 
virtual int encode_workspace_to (char *buf)
 
- Protected Member Functions inherited from vrpn_BaseClass
virtual int init (void)
 Initialize things that the constructor can't. Returns 0 on success, -1 on failure.
 
virtual int register_senders (void)
 Register the sender for this device (by default, the name of the device). Return 0 on success, -1 on fail.
 
- Protected Member Functions inherited from vrpn_BaseClassUnique
int register_autodeleted_handler (vrpn_int32 type, vrpn_MESSAGEHANDLER handler, void *userdata, vrpn_int32 sender=vrpn_ANY_SENDER)
 Registers a handler with the connection, and remembers to delete at destruction.
 
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)
 Returns an object you can stream into to send a text message from the device like send_text_message(vrpn_TEXT_WARNING) << "Value of i is: " << i; This use requires including vrpn_SendTextMessageStreamProxy.h.
 
void server_mainloop (void)
 Handles functions that all servers should provide in their mainloop() (ping/pong, for example) Should be called by all servers in their mainloop()
 
void client_mainloop (void)
 Handles functions that all clients should provide in their mainloop() (warning of no server, for example) Should be called by all clients in their mainloop()
 
- Protected Member Functions inherited from vrpn_Button_Filter
 vrpn_Button_Filter (const char *, vrpn_Connection *c=NULL)
 
virtual vrpn_int32 encode_states_to (char *buf)
 Encode a message describing the state of all buttons.
 
virtual void report_changes (void)
 
- Protected Member Functions inherited from vrpn_Button
virtual int register_types (void)
 Register the types of messages this device sends/receives. Return 0 on success, -1 on fail.
 
virtual void report_states (void)
 
virtual vrpn_int32 encode_to (char *buf, vrpn_int32 button, vrpn_int32 state)
 Encode a message describing the new state of a button.
 
- Protected Member Functions inherited from vrpn_Analog
virtual int register_types (void)
 Register the types of messages this device sends/receives. Return 0 on success, -1 on fail.
 
virtual vrpn_int32 encode_to (char *buf)
 

Protected Attributes

OWL::Context context
 
std::string device
 
std::string options
 
bool drop_frames
 
SensorManager * smgr
 
- Protected Attributes inherited from 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_Posunit2sensor
 
vrpn_Tracker_Quatunit2sensor_quat
 
unsigned num_unit2sensors
 
vrpn_float64 workspace_min [3]
 
vrpn_float64 workspace_max [3]
 
int status
 
- Protected Attributes inherited from vrpn_BaseClassUnique
vrpn_Connectiond_connection
 Connection that this object talks to.
 
char * d_servicename
 Name of this device, not including the connection part.
 
vrpn_int32 d_sender_id
 Sender ID registered with the connection.
 
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 Attributes inherited from vrpn_Button_Filter
int send_alerts
 
vrpn_int32 alert_message_id
 
- Protected Attributes inherited from 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 Attributes inherited from vrpn_Clipping_Analog_Server
clipvals_struct clipvals [vrpn_CHANNEL_MAX]
 
- Protected Attributes inherited from 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
 

Additional Inherited Members

- Static Protected Member Functions inherited from vrpn_BaseClassUnique
static int encode_text_message_to_buffer (char *buf, vrpn_TEXT_SEVERITY severity, vrpn_uint32 level, const char *msg)
 Encodes the body of the text message into a buffer, preparing for sending.
 
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.
 
- Static Protected Member Functions inherited from vrpn_Button_Filter
static int VRPN_CALLBACK handle_ping_message (void *userdata, vrpn_HANDLERPARAM p)
 

Detailed Description

Definition at line 16 of file vrpn_Tracker_PhaseSpace.h.

Constructor & Destructor Documentation

◆ vrpn_Tracker_PhaseSpace() [1/2]

◆ vrpn_Tracker_PhaseSpace() [2/2]

vrpn_Tracker_PhaseSpace::vrpn_Tracker_PhaseSpace ( const char * name,
vrpn_Connection * c,
const char * device,
float frequency,
int readflag,
int slaveflag = 0 )

References device, and vrpn_Tracker_PhaseSpace().

Here is the call graph for this function:

◆ ~vrpn_Tracker_PhaseSpace()

vrpn_Tracker_PhaseSpace::~vrpn_Tracker_PhaseSpace ( )

Definition at line 139 of file vrpn_Tracker_PhaseSpace.C.

References context.

Member Function Documentation

◆ create_trackers()

bool vrpn_Tracker_PhaseSpace::create_trackers ( )
protected

Definition at line 200 of file vrpn_Tracker_PhaseSpace.C.

References context, debug, smgr, and vrpn_BaseClassUnique::type.

Referenced by InitOWL().

◆ enableStreaming()

bool vrpn_Tracker_PhaseSpace::enableStreaming ( bool enable)

Definition at line 719 of file vrpn_Tracker_PhaseSpace.C.

References context.

◆ get_report()

int vrpn_Tracker_PhaseSpace::get_report ( void )
protectedvirtual

◆ handle_update_rate_request()

int vrpn_Tracker_PhaseSpace::handle_update_rate_request ( void * userdata,
vrpn_HANDLERPARAM p )
static

Definition at line 1003 of file vrpn_Tracker_PhaseSpace.C.

References vrpn_HANDLERPARAM::buffer, context, debug, vrpn_BaseClassUnique::userdata, vrpn_Tracker_PhaseSpace(), and vrpn_unbuffer().

Referenced by vrpn_Tracker_PhaseSpace().

Here is the call graph for this function:

◆ InitOWL()

bool vrpn_Tracker_PhaseSpace::InitOWL ( )

Definition at line 147 of file vrpn_Tracker_PhaseSpace.C.

References context, create_trackers(), debug, device, drop_frames, MM_TO_METERS, and options.

Here is the call graph for this function:

◆ load()

bool vrpn_Tracker_PhaseSpace::load ( FILE * file)

Definition at line 618 of file vrpn_Tracker_PhaseSpace.C.

References debug, device, drop_frames, options, smgr, and trim().

Here is the call graph for this function:

◆ mainloop()

void vrpn_Tracker_PhaseSpace::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().

Implements vrpn_BaseClass.

Definition at line 267 of file vrpn_Tracker_PhaseSpace.C.

References get_report(), and vrpn_BaseClassUnique::server_mainloop().

Here is the call graph for this function:

◆ report_button()

void vrpn_Tracker_PhaseSpace::report_button ( vrpn_int32 sensor,
int value )
protected

◆ report_button_analog()

void vrpn_Tracker_PhaseSpace::report_button_analog ( vrpn_int32 sensor,
int value )
protected

Definition at line 832 of file vrpn_Tracker_PhaseSpace.C.

References vrpn_Tracker::d_sensor, debug, and vrpn_Clipping_Analog_Server::setChannelValue().

Here is the call graph for this function:

◆ report_marker()

void vrpn_Tracker_PhaseSpace::report_marker ( vrpn_int32 sensor,
const OWL::Marker & m )
protected

Definition at line 753 of file vrpn_Tracker_PhaseSpace.C.

References context, vrpn_Tracker::d_quat, vrpn_Tracker::d_sensor, debug, vrpn_Tracker::pos, and send_report().

Referenced by get_report().

Here is the call graph for this function:

◆ report_rigid()

void vrpn_Tracker_PhaseSpace::report_rigid ( vrpn_int32 sensor,
const OWL::Rigid & r,
bool is_stylus = false )
protected

Definition at line 780 of file vrpn_Tracker_PhaseSpace.C.

References vrpn_Tracker::d_sensor, debug, send_report(), and set_pose().

Referenced by get_report().

Here is the call graph for this function:

◆ send_report()

void vrpn_Tracker_PhaseSpace::send_report ( void )
protectedvirtual

◆ set_pose()

void vrpn_Tracker_PhaseSpace::set_pose ( const OWL::Rigid & r)
protected

Definition at line 737 of file vrpn_Tracker_PhaseSpace.C.

References vrpn_Tracker::d_quat, and vrpn_Tracker::pos.

Referenced by report_rigid().

Member Data Documentation

◆ context

OWL::Context vrpn_Tracker_PhaseSpace::context
protected

◆ debug

◆ device

std::string vrpn_Tracker_PhaseSpace::device
protected

Definition at line 57 of file vrpn_Tracker_PhaseSpace.h.

Referenced by InitOWL(), load(), and vrpn_Tracker_PhaseSpace().

◆ drop_frames

bool vrpn_Tracker_PhaseSpace::drop_frames
protected

Definition at line 61 of file vrpn_Tracker_PhaseSpace.h.

Referenced by get_report(), InitOWL(), load(), and vrpn_Tracker_PhaseSpace().

◆ options

std::string vrpn_Tracker_PhaseSpace::options
protected

Definition at line 58 of file vrpn_Tracker_PhaseSpace.h.

Referenced by InitOWL(), and load().

◆ smgr

SensorManager* vrpn_Tracker_PhaseSpace::smgr
protected

The documentation for this class was generated from the following files: