![]() |
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 |