Provided by: inventor-doc_2.1.5-10-18_all bug


       SoXtWalkViewer — viewer component which moves the camera in a plane


       SoXtComponent   >   SoXtGLWidget   >   SoXtRenderArea  >  SoXtViewer  >  SoXtFullViewer  >
       SoXtConstrainedViewer > SoXtWalkViewer


       #include <Inventor/Xt/viewers/SoXtWalkViewer.h>

          Methods from class SoXtWalkViewer:

                         SoXtWalkViewer(Widget parent = NULL, const char  *name  =  NULL,  SbBool
                              buildInsideParent   =   TRUE,   SoXtFullViewer::BuildFlag   flag  =
                              BUILD_ALL, SoXtViewer::Type type = BROWSER)

          Methods from class SoXtConstrainedViewer:

     void                setUpDirection(const SbVec3f &newUpDirection)
     SbVec3f             getUpDirection()

          Methods from class SoXtFullViewer:

     void                setDecoration(SbBool onOrOff)
     SbBool              isDecoration()
     void                setPopupMenuEnabled(SbBool trueOrFalse)
     SbBool              isPopupMenuEnabled()
     Widget              getAppPushButtonParent() const
     void                addAppPushButton(Widget newButton)
     void                insertAppPushButton(Widget newButton, int index)
     void                removeAppPushButton(Widget oldButton)
     int                 findAppPushButton(Widget oldButton)
     int                 lengthAppPushButton()
     Widget              getRenderAreaWidget()

          Methods from class SoXtViewer:

     virtual void            setCamera(SoCamera *cam)
     SoCamera *              getCamera()
     virtual void            setCameraType(SoType type)
     SoType                  getCameraType()
     virtual void            viewAll()
     virtual void            saveHomePosition()
     virtual void            resetToHomePosition()
     virtual void            setHeadlight(SbBool onOrOff)
     SbBool                  isHeadlight()
     SoDirectionalLight *    getHeadlight()
     virtual void            setDrawStyle(SoXtViewer::DrawType type, SoXtViewer::DrawStyle style)
     SoXtViewer::DrawStyle   getDrawStyle(SoXtViewer::DrawType type)
     virtual void            setBufferingType(SoXtViewer::BufferType type)
     SoXtViewer::BufferType  getBufferingType()
     virtual void            setViewing(SbBool onOrOff)
     SbBool                  isViewing() const
     virtual void            setCursorEnabled(SbBool onOrOff)
     SbBool                  isCursorEnabled() const
     void                    setAutoClipping(SbBool onOrOff)
     SbBool                  isAutoClipping() const
     virtual void            setStereoViewing(SbBool onOrOff)
     virtual SbBool          isStereoViewing()
     void                    setStereoOffset(float dist)
     float                   getStereoOffset()
     void                    setDetailSeek(SbBool onOrOff)
     SbBool                  isDetailSeek()
     void                    setSeekTime(float seconds)
     float                   getSeekTime()
     void                    addStartCallback(SoXtViewerCB *f, void *userData = NULL)
     void                    addFinishCallback(SoXtViewerCB *f, void *userData = NULL)
     void                    removeStartCallback(SoXtViewerCB *f, void *userData = NULL)
     void                    removeFinishCallback(SoXtViewerCB *f, void *userData = NULL)
     void                    copyView(Time eventTime)
     void                    pasteView(Time eventTime)
     virtual void            recomputeSceneSize()

          Methods from class SoXtRenderArea:

     virtual void              setSceneGraph(SoNode *newScene)
     virtual SoNode *          getSceneGraph()
     void                      setOverlaySceneGraph(SoNode *newScene)
     SoNode *                  getOverlaySceneGraph()
     void                      registerDevice(SoXtDevice *)
     void                      unregisterDevice(SoXtDevice *)
     void                      setBackgroundColor(const SbColor &c)
     const SbColor &           getBackgroundColor() const
     void                      setBackgroundIndex(int index)
     int                       getBackgroundIndex() const
     void                      setOverlayBackgroundIndex(int index)
     int                       getOverlayBackgroundIndex() const
     void                      setColorMap(int startIndex, int num, const SbColor *colors)
     void                      setOverlayColorMap(int startIndex, int num, const SbColor *colors)
     void                      setViewportRegion(const SbViewportRegion &newRegion)
     const SbViewportRegion &  getViewportRegion() const
     void                      setTransparencyType(SoGLRenderAction::TransparencyType type)
                               getTransparencyType() const
     void                      setAntialiasing(SbBool smoothing, int numPasses)
     void                      getAntialiasing(SbBool &smoothing, int &numPasses) const
     void                      setClearBeforeRender(SbBool trueOrFalse)
     SbBool                    isClearBeforeRender() const
     void                      setClearBeforeOverlayRender(SbBool trueOrFalse)
     SbBool                    isClearBeforeOverlayRender() const
     void                      setAutoRedraw(SbBool trueOrFalse)
     SbBool                    isAutoRedraw() const
     void                      setRedrawPriority(uint32_t priority)
     uint32_t                  getRedrawPriority() const
     static uint32_t           getDefaultRedrawPriority()
     void                      render()
     void                      renderOverlay()
     void                      scheduleRedraw()
     void                      scheduleOverlayRedraw()
     void                      redrawOnSelectionChange(SoSelection *s)
     void                      redrawOverlayOnSelectionChange(SoSelection *s)
     void                      setEventCallback(SoXtRenderAreaEventCB  *fcn,  void  *userData   =
     void                      setGLRenderAction(SoGLRenderAction *ra)
     SoGLRenderAction *        getGLRenderAction() const
     void                      setOverlayGLRenderAction(SoGLRenderAction *ra)
     SoGLRenderAction *        getOverlayGLRenderAction() const
     void                      setSceneManager(SoSceneManager *sm)
     SoSceneManager *          getSceneManager() const
     void                      setOverlaySceneManager(SoSceneManager *sm)
     SoSceneManager *          getOverlaySceneManager() const

          Methods from class SoXtGLWidget:

     void                setBorder(SbBool onOrOff)
     SbBool              isBorder() const
     virtual void        setDoubleBuffer(SbBool onOrOff)
     SbBool              isDoubleBuffer()
     Window              getNormalWindow()
     Window              getOverlayWindow()
     GLXContext          getNormalContext()
     GLXContext          getOverlayContext()
     Widget              getNormalWidget()
     Widget              getOverlayWidget()
     virtual void        setNormalVisual(XVisualInfo *vis)
     XVisualInfo *       getNormalVisual()
     virtual void        setOverlayVisual(XVisualInfo *vis)
     XVisualInfo *       getOverlayVisual()
     void                setDrawToFrontBufferEnable(SbBool enableFlag)
     SbBool              isDrawToFrontBufferEnable() const

          Methods from class SoXtComponent:

     virtual void            show()
     virtual void            hide()
     SbBool                  isVisible()
     Widget                  getWidget() const
     SbBool                  isTopLevelShell() const
     Widget                  getShellWidget() const
     Widget                  getParentWidget() const
     void                    setSize(const SbVec2s &size)
     SbVec2s                 getSize()
     Display *               getDisplay()
     void                    setTitle(const char *newTitle)
     const char *            getTitle() const
     void                    setIconTitle(const char *newIconTitle)
     const char *            getIconTitle() const
     void                    setWindowCloseCallback(SoXtComponentCB *func, void *data = NULL)
     static SoXtComponent *  getComponent(Widget w)
     const char *            getWidgetName() const
     const char *            getClassName() const


       The  paradigm  for  this  viewer  is  a walkthrough of an architectural model. Its primary
       behavior is forward, backward, and left/right turning motion while maintaining a  constant
       "eye level". It is also possible to stop and look around at the scene. The eye level plane
       can be disabled, allowing the viewer to proceed in the "look at" direction, as  if  on  an
       escalator.  The  eye  level  plane  can  also  be  translated  up and down — similar to an


                         SoXtWalkViewer(Widget parent = NULL, const char  *name  =  NULL,  SbBool
                              buildInsideParent   =   TRUE,   SoXtFullViewer::BuildFlag   flag  =
                              BUILD_ALL, SoXtViewer::Type type = BROWSER)
          Constructor and destructor which  specifies  the  viewer  type.  Please  refer  to  the
          SoXtViewer man pages for a description of the viewer types.


          *SoXtWalkViewer.decoration: on (on | off)
          *SoXtWalkViewer.seekAnimationTime: 2.0 (float)
          *SoXtWalkViewer.seekTo: point (point | object)
          *SoXtWalkViewer.seekDistanceUsage: percentage (percentage | absolute)
          *SoXtWalkViewer.zoomMin: 1.0 (float)
          *SoXtWalkViewer.zoomMax: 179.0 (float)
          *SoXtWalkViewer.autoClipping: on (on | off)
          *SoXtWalkViewer.nearDistance: 2.4 (float, when autoClipping is off)
          *SoXtWalkViewer.farDistance: 2.8 (float, when autoClipping is off)
          *SoXtWalkViewer*BackgroundColor: black (color name or hex value)


       Left  Mouse:  walk  mode.  Click  down and move up/down for fowards/backwards motion. Move
       right and left for turning. Speed increases  exponentially  with  the  distance  from  the
       mouse-down origin.

       Middle Mouse - or

       Ctrl + Left Mouse: Translate up, down, left and right.

       Ctrl  +  Middle  Mouse:  tilt  the  camera up/down and right/left. This allows you to look
       around while stopped.

       <s> + click: Alternative to the Seek button. Press (but do not hold  down)  the  <s>  key,
       then click on a target object.

       <u>  +  click:  Press (but do not hold down) the <u> key, then click on a target object to
       set the "up" direction to the surface normal. By default +y is the "up" direction.

       Right Mouse: Open the popup menu.


       SoXtFullViewer,    SoXtViewer,     SoXtComponent,     SoXtRenderArea,     SoXtPlaneViewer,
       SoXtExaminerViewer, SoXtFlyViewer