vrecko
virtual reality framework
|
#include <LHeadTracker.h>
Public Member Functions | |
LHeadTracker () | |
LHeadTracker (const char *port_name) | |
LHeadTracker (const char *port_name1, const char *port_name2) | |
~LHeadTracker () | |
virtual int | openDevice (void) |
Opens device and performs the initialization routines. More... | |
int | closeDevice (void) |
Closes device. More... | |
void | update (void) |
Updates the device - scan device and send required outputs. More... | |
bool | loadXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *pParametersNode) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
XERCES_CPP_NAMESPACE_QUALIFIER DOMNode * | saveXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *) |
Save current setting into a XML node. More... | |
int | getRotate (float *p_rotate) |
osg::Vec3 & | getRotate (void) |
void | setRotationType (rotation_type _type) |
osg::Vec3 & | getRotateA (void) |
osg::Matrix & | getRotateM (void) |
osg::Quat & | getRotateQ (void) |
int | getTranslate (float *p_trans) |
osg::Vec3 & | getTranslate (void) |
void | printPos (void) |
void | setInitialPosition (osg::Vec4 &_pos) |
void | setInitialRotation (osg::Vec4 &_rot) |
void | setInitialPosition (osg::Vec4 &_pos1, osg::Vec4 &_pos2) |
void | setInitialRotation (osg::Vec4 &_rot1, osg::Vec4 &_rot2) |
void | demandReport (void) |
void | setBaseT (osg::Vec4 b1, osg::Vec4 b2, osg::Vec4 b3, osg::Vec4 orig) |
void | setBaseR (osg::Vec4 b1, osg::Vec4 b2, osg::Vec4 b3, osg::Vec4 orig) |
void | resetBase (osg::Vec4 b1, osg::Vec4 b2, osg::Vec4 b3, osg::Vec4 orig) |
void | setSlaveTransmitterType (unsigned char transmitter_type) |
Public Member Functions inherited from vrecko::Device | |
Device (const char *startingDeviceName, const char *pname="") | |
virtual | ~Device () |
int | getID (void) |
Returns the ID of the device. More... | |
void | setID (int new_id) |
Sets ID of the device. More... | |
const std::string & | getDeviceType (void) |
Returns the type of the device. More... | |
void | setPortName (const char *pname) |
Sets the port name for the device. More... | |
const char * | getPortName (void) |
Returns port name of the device. More... | |
virtual int | calibrateDevice (void) |
Device calibration. More... | |
virtual const std::string | getCalibrationString (void) |
Returns the description of the calibration process. More... | |
Public Member Functions inherited from vrecko::BaseClass | |
BaseClass (const char *startingSenderString) | |
The main constructor. More... | |
BaseClass (BaseClass &bc) | |
Copy constructor. Probably not really used. More... | |
virtual | ~BaseClass () |
Destructor. More... | |
virtual bool | initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters=NULL) |
Core initialization. More... | |
virtual bool | initializeFromString (const char *xmlString) |
Helper method that allows to initialize ability from a XML-formatted string. More... | |
bool | inputPresent (const std::string &name) |
Returns true if input pin (not request inputpin ) with given name is present. More... | |
bool | outputPresent (const std::string &name) |
Returns true if output pin (not request output pin) with given name is present. More... | |
void | addInputPin (InputPinBase *pin) |
Adds an input pin. More... | |
void | removeInputPin (InputPinBase *pin) |
Removes an input pin. More... | |
void | addOutputPin (OutputPinBase *pin) |
Adds an output pin. More... | |
void | removeOutputPin (OutputPinBase *pin) |
Removes and output pin. More... | |
void | addRequestInputPin (RequestInputPinBase *pin) |
Adds a request input pin. More... | |
void | removeRequestInputPin (RequestInputPinBase *pin) |
Removes a request input pin. More... | |
void | addRequestOutputPin (RequestOutputPinBase *pin) |
Adds a request output pin. More... | |
void | removeRequestOutputPin (RequestOutputPinBase *pin) |
Removes a request output pin. More... | |
bool | addNotification (BaseClass *receiver, unsigned long notificationTypes) |
Registers an observer that will be notified if a specific change occurs. More... | |
bool | removeNotification (BaseClass *receiver, unsigned long notificationTypes=NOTIFICATION_ALL) |
Unregisters a previously registered observer. More... | |
virtual void | processEvent (const std::string &input_name, VreckoMessage *pMessage) |
Internal method for processing the events. More... | |
virtual VreckoMessage * | processRequest (const std::string &request_input_name, VreckoMessage *pMessage) |
Internal method for processing the requests. More... | |
virtual const std::string & | getSenderString (void) |
Returns the sender (or receiver) identification string. More... | |
void | reportError (const std::string &error) |
Print error message. More... | |
void | setPriority (long int pr) |
Sets the priority. (Possible problems - read the full description for more info) More... | |
long int | getPriority (void) const |
Returns current object priority. More... | |
void | setAttribute (const std::string &attr_name, int attr_value) |
Sets an attribute value. More... | |
int | getAttribute (const std::string &attr_name) |
Returns attribute value. More... | |
int | getAttribute (const char *attr_name) |
Returns attribute value. More... | |
void | deleteAttribute (const std::string &attr_name) |
Delete an attribute. More... | |
void | setSceneFile (const std::string &sceneFileName) |
Set the name of the file this component was in (and possibly will be saved to). More... | |
const std::string & | getSceneFile () const |
Get the name of the file this component was in. More... | |
virtual void | preInitialize (void) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
virtual void | postInitialize (void) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
virtual bool | loadXMLParameters (const char *xmlString) |
OBSOLETE METHOD, kept for backwards compatibility. More... | |
InputPinBase * | getInputPin (const char *strName) |
Returns pointer to an input pin with specified name. More... | |
OutputPinBase * | getOutputPin (const char *strName) |
Returns pointer to an output pin with specified name. More... | |
RequestInputPinBase * | getRequestInputPin (const char *strName) |
Returns pointer to an request input pin with specified name. More... | |
RequestOutputPinBase * | getRequestOutputPin (const char *strName) |
Returns pointer to an input pin with specified name. More... | |
Protected Member Functions | |
int | scanDevice (void) |
bool | openPort (const char *_pname, int *temp_port_fd) |
bool | scanDeviceX (void) |
int | diagnostic (void) |
int | getRecData (long int *x, long int *y, long int *z, long int *pi, long int *ya, long int *ro, char *packet) |
void | delay (int msec) |
int | lhtRead (char *buf, int n) |
void | reset (void) |
int | singleReport (char *reply) |
void | printBuffer (const char *buf, int length) |
osg::Vec4 | getEuler (osg::Matrix &_mat) |
osg::Vec4 | get_rel_pos (long int x, long int y, long int z) |
bool | checkDiff (const long int &x, const long int &y, const long int &z, const long int &n_pi, const long int &n_ya, const long int &n_ro) |
DECLARE_OUTPUT (Position, vrecko::MessageVec3) | |
DECLARE_OUTPUT (Orientation, vrecko::MessageQuat) | |
Protected Attributes | |
int | port_fd |
int | port_fd_dual |
int | _port_fd |
std::string | _port_name_dual |
int | actual_p |
bool | rec_out [2] |
osg::Vec4 | pos [2] |
osg::Vec4 | rot [2] |
osg::Vec3 | ret_pos |
osg::Vec3 | ret_rot |
osg::Quat | rotq [2] |
osg::Quat | rotq_diff [2] |
rotation_type | rot_type |
osg::Matrix | ret_rotm |
osg::Quat | ret_rotq |
osg::Vec4 | base1 |
osg::Vec4 | base2 |
osg::Vec4 | base3 |
osg::Vec4 | origin |
char | tx_buf [HTD_COMMAND_LEN] |
char | rx_buf [2 *HTD_PACKET_LEN] |
int | req_len |
int | read_len |
long int | absX [2] |
long int | absY [2] |
long int | absZ [2] |
long int | absPI [2] |
long int | absYA [2] |
long int | absRO [2] |
osg::Vec4 | pos_diff [2] |
osg::Vec4 | rot_diff [2] |
long int | last_absPI [2] |
long int | last_absYA [2] |
long int | last_absRO [2] |
osg::Vec4 | last_rot [2] |
osg::Matrix | tr_matrix |
osg::Matrix | tr_matrix2 |
bool | first_report [2] |
jmp_buf | tenv |
osg::Vec3 | translate_mapping |
Protected Attributes inherited from vrecko::Device | |
int | id |
device ID More... | |
std::string | device_type |
device type More... | |
std::string | port_name |
name of the port More... | |
Protected Attributes inherited from vrecko::BaseClass | |
AttributeMap | attribute |
MTReadWriteLock | attributeLock |
std::string | senderString |
MTLock | notificationsLock |
std::vector < NOTIFICATION_DESCRIPTION > | notifications |
long int | priority |
const std::string * | sceneFile |
PinList | inputPinsList |
PinList | outputPinsList |
PinList | requestInputPinsList |
PinList | requestOutputPinsList |
Additional Inherited Members | |
Public Types inherited from vrecko::BaseClass | |
enum | NotificationTypes { NOTIFICATION_DELETE_CLASS = 1, NOTIFICATION_EO_REGISTERING = 2, NOTIFICATION_EO_UNREGISTERING = 4, NOTIFICATION_PROGRAM_TERMINATION = 8, NOTIFICATION_ALL = 0xFFFFFFFF } |
Protected Types inherited from vrecko::BaseClass | |
typedef std::map< std::string, int > | AttributeMap |
Attributes. More... | |
typedef std::vector < osg::ref_ptr< IOPinBase > > | PinList |
LHeadTracker::LHeadTracker | ( | ) |
LHeadTracker::LHeadTracker | ( | const char * | port_name | ) |
LHeadTracker::LHeadTracker | ( | const char * | port_name1, |
const char * | port_name2 | ||
) |
LHeadTracker::~LHeadTracker | ( | ) |
|
protected |
|
virtual |
Closes device.
Implements vrecko::Device.
|
protected |
|
protected |
|
inlineprotected |
void LHeadTracker::demandReport | ( | void | ) |
|
protected |
|
protected |
given absolute position of the tracker in HT coord system evaluate relative position in world coordinates
|
protected |
|
protected |
htd_get_rec_data
given a packet from control unit, get the actual position and rotation of the receiver return the value of {REC_OUT, REC_FRI, REC_IN} which means {receiver out of active area, receiver in fringe area, receiver in active area}
int LHeadTracker::getRotate | ( | float * | p_rotate | ) |
osg::Vec3 & LHeadTracker::getRotate | ( | void | ) |
osg::Vec3 & LHeadTracker::getRotateA | ( | void | ) |
osg::Matrix & LHeadTracker::getRotateM | ( | void | ) |
osg::Quat & LHeadTracker::getRotateQ | ( | void | ) |
int LHeadTracker::getTranslate | ( | float * | p_trans | ) |
osg::Vec3 & LHeadTracker::getTranslate | ( | void | ) |
|
protected |
|
virtual |
OBSOLETE METHOD, kept for backwards compatibility.
The preInitialize(), loadXMLParameters() and postInitialize() methods were replaced in 2011 by a single method initialize().
* | (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode) |
Reimplemented from vrecko::BaseClass.
|
virtual |
Opens device and performs the initialization routines.
Implements vrecko::Device.
Reimplemented in vreckoDP_base::L3DMouse.
|
protected |
|
protected |
void LHeadTracker::printPos | ( | void | ) |
|
protected |
void LHeadTracker::resetBase | ( | osg::Vec4 | b1, |
osg::Vec4 | b2, | ||
osg::Vec4 | b3, | ||
osg::Vec4 | orig | ||
) |
|
virtual |
Save current setting into a XML node.
* | (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument) |
Reimplemented from vrecko::BaseClass.
|
protected |
|
protected |
void LHeadTracker::setBaseR | ( | osg::Vec4 | b1, |
osg::Vec4 | b2, | ||
osg::Vec4 | b3, | ||
osg::Vec4 | orig | ||
) |
set the base of HT coordinate system in world coordinates - Rotation
void LHeadTracker::setBaseT | ( | osg::Vec4 | b1, |
osg::Vec4 | b2, | ||
osg::Vec4 | b3, | ||
osg::Vec4 | orig | ||
) |
set the base of HT coordinate system in world coordinates
void LHeadTracker::setInitialPosition | ( | osg::Vec4 & | _pos | ) |
void LHeadTracker::setInitialPosition | ( | osg::Vec4 & | _pos1, |
osg::Vec4 & | _pos2 | ||
) |
void LHeadTracker::setInitialRotation | ( | osg::Vec4 & | _rot | ) |
void LHeadTracker::setInitialRotation | ( | osg::Vec4 & | _rot1, |
osg::Vec4 & | _rot2 | ||
) |
|
inline |
void LHeadTracker::setSlaveTransmitterType | ( | unsigned char | transmitter_type | ) |
|
protected |
|
virtual |
Updates the device - scan device and send required outputs.
Implements vrecko::Device.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |