00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef SOQT_CONSTRAINEDVIEWER_H
00027 #define SOQT_CONSTRAINEDVIEWER_H
00028
00029 #include <Inventor/Qt/viewers/SoQtFullViewer.h>
00030
00031
00032
00033 class SOQT_DLL_API SoQtConstrainedViewer : public SoQtFullViewer {
00034 SOQT_OBJECT_ABSTRACT_HEADER(SoQtConstrainedViewer, SoQtFullViewer);
00035
00036 public:
00037 void setUpDirection(const SbVec3f & dir);
00038 const SbVec3f & getUpDirection(void) const;
00039
00040 virtual void setCamera(SoCamera * newcam);
00041 virtual void saveHomePosition(void);
00042 virtual void resetToHomePosition(void);
00043
00044 protected:
00045 SoQtConstrainedViewer(QWidget * parent,
00046 const char * const name,
00047 SbBool embed,
00048 SoQtFullViewer::BuildFlag flag,
00049 SoQtViewer::Type type,
00050 SbBool build);
00051
00052 ~SoQtConstrainedViewer();
00053
00054 virtual void tiltCamera(float delta);
00055 virtual void bottomWheelMotion(float value);
00056 virtual void leftWheelMotion(float value);
00057
00058 virtual void changeCameraValues(SoCamera * camera);
00059 void findUpDirection(SbVec2s mouselocation);
00060 void checkForCameraUpConstrain(void);
00061
00062 private:
00063 class SoQtConstrainedViewerP * pimpl;
00064 };
00065
00066
00067
00068 #endif // ! SOQT_CONSTRAINEDVIEWER_H