19#ifndef VRPN_FREESPACE_H
20#define VRPN_FREESPACE_H
24#ifdef VRPN_USE_FREESPACE
26#include <freespace/freespace.h>
55 static vrpn_Freespace*
create(
const char *name,
58 bool send_body_frames =
false,
59 bool send_user_frames =
true);
60 virtual ~vrpn_Freespace(
void);
69 static bool _freespace_initialized;
70 static void freespaceInit();
74 vrpn_Freespace(FreespaceDeviceId freespaceId,
75 struct FreespaceDeviceInfo* deviceInfo,
79 void handleUserFrame(
const struct freespace_UserFrame&);
80 void handleBodyFrame(
const struct freespace_BodyFrame&);
81 void handleLinkStatus(
const struct freespace_LinkStatus&);
83 void deviceSetConfiguration(
bool send_body_frames,
bool send_user_frames);
84 void deviceConfigure();
85 void deviceUnconfigure();
89 struct timeval _timestamp;
Generic connection class not specific to the transport mechanism.
vrpn_Dial(const char *name, vrpn_Connection *c=NULL)
static vrpn_Freespace * create(const char *name, vrpn_Connection *conn, int device_index=0, bool send_body_frames=false, bool send_user_frames=true)
Create a freespace server using the given FreespaceDeviceId.
FreespaceDeviceId _freespaceDevice
FreespaceDeviceInfo _deviceInfo
vrpn_float64 _lastBodyFrameTime
virtual void mainloop()
This function should be called each time through app mainloop.
vrpn_Tracker_Server(const char *name, vrpn_Connection *c, vrpn_int32 sensors=1)