00001 00010 #ifndef INSPECTMOUSENAV_H 00011 #define INSPECTMOUSENAV_H 00012 00013 #include "IS3DCommon.H" 00014 #include "Fsa.H" 00015 #include "AnimObj.H" 00016 00017 namespace IS3D { 00018 00034 class InspectMouseNav : public AnimObj 00035 { 00036 public: 00037 00038 InspectMouseNav(); 00039 00040 virtual ~InspectMouseNav(); 00041 00042 void startRotate(EventRef e); 00043 void rotateMove(EventRef e); 00044 void spinDecision(EventRef e); 00045 void spinningEnter(EventRef e); 00046 void spinOff(EventRef e); 00047 00048 void panDollyMouseDown(EventRef e); 00049 void checkMovementForPanOrDolly(EventRef e); 00050 void panMove(EventRef e); 00051 void dollyMove(EventRef e); 00052 00053 void plusX(EventRef e); 00054 void minusX(EventRef e); 00055 void plusY(EventRef e); 00056 void minusY(EventRef e); 00057 void plusZ(EventRef e); 00058 void minusZ(EventRef e); 00059 void scaleUp(EventRef e); 00060 void scaleDown(EventRef e); 00061 00062 void animate(); 00063 00064 protected: 00065 00066 FsaRef _fsa; 00067 Sphere _boundingSphere; 00068 Vector3 _lastIntersectionPt; 00069 double _lastRotTime; 00070 double _rotAngularVel; 00071 Vector3 _rotAxis; 00072 00073 Vector2 _initialClickPos; 00074 Vector2 _lastPos; 00075 Vector3 _hitPoint; 00076 00077 double _amt; 00078 }; 00079 00080 } 00081 #endif