00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SB_TRACKER_INFO_
00025 #define _SB_TRACKER_INFO_
00026
00027 #include <Inventor/SbLinear.h>
00028
00073 class SbTrackerInfo {
00074
00075 public:
00076
00080 SbTrackerInfo();
00084 ~SbTrackerInfo();
00085
00089 void setPosition3(const SbVec3f &p) { m_position3 = p; }
00090
00094 const SbVec3f & getPosition3() const { return m_position3; }
00095
00100 const SbRotation &getOrientation() const { return m_orientation; }
00101
00106 void getOrientation(SbVec3f &axis, float &angle) const
00107 { m_orientation.getValue(axis, angle); }
00108
00112 void setOrientation(float q0, float q1, float q2, float q3)
00113 { m_orientation.setValue( q0, q1, q2, q3 ); }
00114
00118 void setOrientation(const float q[4])
00119 { m_orientation.setValue( q ); }
00120
00124 void setOrientation(const SbVec3f &axis, float angle)
00125 { m_orientation.setValue( axis, angle ); }
00126
00130 void setOrientation( SbRotation orientation )
00131 { m_orientation = orientation; }
00132
00137 void setOrientation( float xangle, float yangle, float zangle );
00138
00142 const SbLine getRay() const;
00143
00147 void setData( void *appData ) { m_data = appData; }
00148
00152 const void *getData() const { return m_data; }
00153
00154 private:
00155
00156
00157 SbVec3f m_position3;
00158 SbRotation m_orientation;
00159
00160 void *m_data;
00161
00162 };
00163
00164 #endif
00165
00166