代码拉取完成,页面将自动刷新
/*****************************************************************************\
vrpn_Flock_Parallel.h
--
Description : implements a class which runs an ascension flock of birds
tracker in multiple rs232 mode.
----------------------------------------------------------------------------
Author: weberh
Created: Thu Mar 5 19:38:55 1998
Revised: Fri Mar 19 15:05:28 1999 by weberh
\*****************************************************************************/
#ifndef _VRPN_FLOCK_PARALLEL_H_
#define _VRPN_FLOCK_PARALLEL_H_
#include "vrpn_Configure.h" // for VRPN_API
#include "vrpn_Flock.h" // for vrpn_Tracker_Flock, etc
#include "vrpn_Types.h" // for vrpn_int32
class VRPN_API vrpn_Connection;
// This is a class which provides a server for an ascension
// Flock of Birds tracker. The server will send out messages
// at whatever rate the flock of bird's stream mode feeds them.
// Default filtering is active.
// The timestamp is the time when the first character was read
// from the serial driver with "read". No adjustment is currently
// made to this time stamp.
// Adelstein, et al, "Dynamic response of electromagnetic spatial
// displacement trackers", Presence 5(3) found that if all of the filters
// are turned off, and the time required to transport the data to the
// server is ignored, then the latency of the flock is about 2 ms for ori,
// 7.5 ms for pos for the 0-4hz range (ie, when the data is ready to leave
// the flock in stream mode, the pos is 7.5 ms old, and the ori is 2 ms
// old). Later this data will be combined with the baud rate to provide a
// more accurate time stamp for certain flock modes.
// If this is running on a non-linux system, then the serial port driver
// is probably adding more latency -- see the vrpn README for more info.
// forward decl
class VRPN_API vrpn_Tracker_Flock_Parallel_Slave;
// this class acts as the master
// these are both derived from vrpn_Tracker_Flock to take advantage
// of some of the data and functionality, but they replace the major
// functions
class VRPN_API vrpn_Tracker_Flock_Parallel: public vrpn_Tracker_Flock {
public:
// for parallel, you supply the master port and then the
// slave ports in a array with cSensors elements
vrpn_Tracker_Flock_Parallel(char *name, vrpn_Connection *c, int cSensors,
char *port, long baud,
char *slavePortArray[],
bool invertQuaternion = false);
virtual ~vrpn_Tracker_Flock_Parallel();
virtual void mainloop();
protected:
virtual int get_report(void);
virtual void reset();
// slave ptrs
vrpn_Tracker_Flock_Parallel_Slave *rgSlaves[VRPN_FLOCK_MAX_SENSORS];
};
// the special args are the master's vrpn id and tracker pos msg id
// The slave masquerades as the master when sending out reports
class VRPN_API vrpn_Tracker_Flock_Parallel_Slave : public vrpn_Tracker_Flock {
public:
vrpn_Tracker_Flock_Parallel_Slave( char *name,
vrpn_Connection *c,
char *port,
long baud,
vrpn_int32 vrpnMasterID,
int iSensorID );
virtual ~vrpn_Tracker_Flock_Parallel_Slave();
virtual void mainloop();
protected:
virtual void reset();
friend class VRPN_API vrpn_Tracker_Flock_Parallel;
};
#endif // _VRPN_FLOCK_PARALLEL_H_
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。