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 _SO_WIN_FLY_VIEWER_
00027 #define _SO_WIN_FLY_VIEWER_
00028
00029 #include <Inventor/Win/SoWinBeginStrict.h>
00030
00031 #include <Inventor/Win/viewers/SoWinConstrainedViewer.h>
00032 #include <Inventor/SbLinear.h>
00033 #include <Inventor/SbTime.h>
00034
00035 #include <Inventor/Gui/viewers/SoGuiFlyViewer.h>
00036 class SoFieldSensor;
00037
00091 class SoWinFlyViewer : public SoWinConstrainedViewer
00092 {
00093 public:
00094
00103 SoWinFlyViewer( SoWidget parent = NULL,
00104 const char* name = NULL,
00105 SbBool buildInsideParent = TRUE,
00106 SoWinFullViewer::BuildFlag flag = SoWinFullViewer::BUILD_ALL,
00107 SoWinViewer::Type type = SoWinViewer::BROWSER );
00111 ~SoWinFlyViewer();
00112
00113
00114
00115
00116 virtual void setViewing( SbBool onOrOff );
00117 virtual void resetToHomePosition();
00118 virtual void setCamera( SoCamera* cam );
00119 virtual void setCursorEnabled( SbBool onOrOff );
00120 virtual void setSeekMode( SbBool onOrOff );
00121
00122
00123 virtual void setCameraType( SoType type );
00124
00125
00126
00127 void setMinSpeed( float speed );
00128 float getMinSpeed();
00129
00130
00131 void setSpeedMultiplier( float speedInc );
00132 float getSpeedMultiplier();
00133
00134 private:
00135
00136 SoGuiFlyViewer* getGuiFlyViewer() const;
00137
00138 private:
00139
00140
00141
00142
00143 SoEXTENDER SoWinFlyViewer( SoWidget parent,
00144 const char* name,
00145 SbBool buildInsideParent,
00146 SoWinFullViewer::BuildFlag flag,
00147 SoWinViewer::Type type,
00148 SbBool buildNow,
00149 SbBool sync = TRUE );
00150
00151
00152 virtual SbString getDefaultWidgetName() const;
00153 virtual SbString getDefaultTitle() const;
00154 virtual SbString getDefaultIconTitle() const;
00155
00156
00157 virtual void processEvent( XAnyEvent* anyevent );
00158 virtual void actualRedraw();
00159 virtual void rightWheelMotion( float newVal);
00160 virtual void mouseWheelMotion( float newVal );
00161
00162
00163 virtual void createPrefSheet();
00164
00165
00166 virtual void openViewerHelpCard();
00167
00168 private:
00169
00170 SoGuiFlyViewer* m_guiFlyViewer;
00171
00172
00173 SbRotation camStartOrientation;
00174
00175 void switchMode( int newMode );
00176 void changeMaxStraightSpeed( SbBool increase );
00177
00178
00179 void constructorCommon( SbBool buildNow );
00180
00181
00182 void processPopupItem( int item );
00183 };
00184
00185 #include <Inventor/Win/SoWinEndStrict.h>
00186
00187 #endif
00188
00189