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