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
00075 class SbTrackerInfo {
00076
00077 public:
00078
00082 SbTrackerInfo();
00086 ~SbTrackerInfo();
00087
00091 void setPosition3(const SbVec3f &p) { m_position3 = p; }
00092
00096 const SbVec3f & getPosition3() const { return m_position3; }
00097
00102 const SbRotation &getOrientation() const { return m_orientation; }
00103
00108 void getOrientation(SbVec3f &axis, float &angle) const
00109 { m_orientation.getValue(axis, angle); }
00110
00114 void setOrientation(float q0, float q1, float q2, float q3)
00115 { m_orientation.setValue( q0, q1, q2, q3 ); }
00116
00120 void setOrientation(const float q[4])
00121 { m_orientation.setValue( q ); }
00122
00126 void setOrientation(const SbVec3f &axis, float angle)
00127 { m_orientation.setValue( axis, angle ); }
00128
00132 void setOrientation( SbRotation orientation )
00133 { m_orientation = orientation; }
00134
00139 void setOrientation( float xangle, float yangle, float zangle );
00140
00144 const SbLine getRay() const;
00145
00149 void setData( void *appData ) { m_data = appData; }
00150
00154 const void *getData() const { return m_data; }
00155
00156 private:
00157
00158
00159 SbVec3f m_position3;
00160 SbRotation m_orientation;
00161
00162 void *m_data;
00163
00164 };
00165
00166 #endif
00167
00168