Changeset 1021 for trunk/Source/System/Window/Utilities/OSGNavigator.h
- Timestamp:
- 11/26/07 22:53:32 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Source/System/Window/Utilities/OSGNavigator.h
r948 r1021 51 51 #include "OSGQuaternion.h" 52 52 #include "OSGIntersectAction.h" 53 #include "OSGTrackballNavigator.h"54 #include "OSGFlyNavigator.h"55 #include "OSGWalkNavigator.h"56 53 57 54 OSG_BEGIN_NAMESPACE 55 56 class NavigatorEngine; 57 class TrackballEngine; 58 class FlyEngine; 59 class WalkEngine; 60 class NoneEngine; 61 62 typedef TrackballEngine TrackballNavigator; 63 typedef FlyEngine FlyNavigator; 64 typedef WalkEngine WalkNavigator; 58 65 59 66 /*! \brief General Navigator for wrapping simple navigators. See \ref … … 70 77 FLY, 71 78 WALK, 72 NONE 79 NONE, 80 USER 73 81 }; 74 82 … … 152 160 void setCameraTransformation(const NodePtr & new_cartn); 153 161 162 void setUserEngine(NavigatorEngine* userEngine); 163 154 164 /*! \} */ 155 165 /*---------------------------------------------------------------------*/ … … 169 179 bool getClickCenter(); 170 180 bool getClickNoIntersect(); 171 172 TrackballNavigator* getTrackballNavigator() { return &_trackball; } 173 FlyNavigator * getFlyNavigator () { return &_flyer; } 174 WalkNavigator * getWalkNavigator () { return &_walker; } 181 182 // --- added by Martin: 183 bool getMoved(void); 184 Real32 getLastX(void); 185 Real32 getLastY(void); 186 ViewportPtr getViewport(void); 187 188 TrackballEngine* getTrackballNavigator(void); 189 FlyEngine* getFlyNavigator(void); 190 WalkEngine* getWalkNavigator(void); 191 NoneEngine* getNoneNavigator(void); 192 NavigatorEngine* getUserNavigator(void); 175 193 176 194 /*! \} */ … … 182 200 /*! \{ */ 183 201 184 TrackballNavigator _trackball; 185 FlyNavigator _flyer; 186 WalkNavigator _walker; 187 188 Real32 _rRotationAngle; 189 Real32 _rMotionFactor; 190 State _currentState; 191 Mode _currentMode; 192 bool _absolute; 193 194 ViewportPtr _vp; 195 NodePtr _cartN; 196 197 bool _moved; 198 bool _clickCenter; 199 bool _clickNoIntersect; 200 Real32 _lastX, _lastY; 201 Pnt3f _ip; 202 Vec3f _dir; 202 NavigatorEngine* _engine; // pointer to current engine 203 204 TrackballEngine* _trackballEngine; 205 FlyEngine* _flyEngine; 206 WalkEngine* _walkEngine; 207 NoneEngine* _noneEngine; 208 NavigatorEngine* _userEngine; 209 210 Real32 _rRotationAngle; 211 Real32 _rMotionFactor; 212 bool _absolute; 213 214 ViewportPtr _vp; 215 NodePtr _cartN; 216 217 bool _moved; 218 bool _clickCenter; 219 bool _clickNoIntersect; 220 Real32 _lastX, _lastY; 221 203 222 Matrix theMatrix; 204 223 205 Matrix _NoneMatrix; 206 207 /*! \} */ 208 209 void setNoneMatrix(Pnt3f new_from, Pnt3f new_at, Vec3f new_up); 210 211 void getIntersectionPoint(Int16 x, Int16 y); 212 void calcDeltas(Int16 fromX, Int16 fromY, Int16 toX, Int16 toY, 213 Real32 &distanceX, Real32 &distanceY); 214 224 /*! \} */ 225 226 public: 227 bool calcFromTo(Int16 x, Int16 y, Real32& fromX, Real32& fromY, 228 Real32& toX, Real32& toY); 215 229 }; 216 230
