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