GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SOXTVIEWER (3)

NAME

SoXtViewer — viewer component lowest base class

CONTENTS

Inherits From
Synopsis
Description
Methods
See Also

INHERITS FROM

SoXtComponent > SoXtGLWidget > SoXtRenderArea > SoXtViewer

SYNOPSIS

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

    typedef void    
                    
typedef void         SoXtViewerCB(void *userData, SoXtViewer *viewer)

enum Type {     SoXtViewer::BROWSER    
                      SoXtViewer::BROWSER   camera views scene, but is not added to scene    
SoXtViewer::EDITOR    
                      SoXtViewer::EDITOR    camera is added to user’s scene
}

enum DrawStyle {     SoXtViewer::VIEW_AS_IS    
                              SoXtViewer::VIEW_AS_IS        unchanged    
SoXtViewer::VIEW_HIDDEN_LINE    
                              SoXtViewer::VIEW_HIDDEN_LINE  render only the front most lines    
SoXtViewer::VIEW_NO_TEXTURE    
                              SoXtViewer::VIEW_NO_TEXTURE   render withought textures    
SoXtViewer::VIEW_LOW_COMPLEXITY    
                              SoXtViewer::VIEW_LOW_COMPLEXITY render low complexity and no texture    
SoXtViewer::VIEW_LINE    
                              SoXtViewer::VIEW_LINE         wireframe draw style    
SoXtViewer::VIEW_LOW_RES_LINE    
                              SoXtViewer::VIEW_LOW_RES_LINE low complexity wireframe with no depth comparison    
SoXtViewer::VIEW_POINT    
                              SoXtViewer::VIEW_POINT        point draw style    
SoXtViewer::VIEW_LOW_RES_POINT    
                              SoXtViewer::VIEW_LOW_RES_POINT low complexity point with no depth comparison    
SoXtViewer::VIEW_BBOX    
                              SoXtViewer::VIEW_BBOX         bounding box draw style with no depth comparison    
SoXtViewer::VIEW_SAME_AS_STILL    
                              SoXtViewer::VIEW_SAME_AS_STILL forces the INTERACTIVE draw style to automatically match STILL
}

enum DrawType {     SoXtViewer::STILL    
                          SoXtViewer::STILL         applies to static rendering    
SoXtViewer::INTERACTIVE    
                          SoXtViewer::INTERACTIVE   applies to rendering while interactive viewing
}

enum BufferType {     SoXtViewer::BUFFER_SINGLE    
                            SoXtViewer::BUFFER_SINGLE   single buffer    
SoXtViewer::BUFFER_DOUBLE    
                            SoXtViewer::BUFFER_DOUBLE   double buffer    
SoXtViewer::BUFFER_INTERACTIVE    
                            SoXtViewer::BUFFER_INTERACTIVE double buffer while interactive viewing
}

Methods from class SoXtViewer:

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

Methods from class SoXtRenderArea:

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

Methods from class SoXtGLWidget:

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

Methods from class SoXtComponent:

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

DESCRIPTION

This is the lowest base class for viewer components. This class adds the notion of a camera to the SoXtRenderArea class. Whenever a new scene is specified with setSceneGraph(), the first camera encountered will be by default used as the edited camera. If no camera is found in the scene, the viewer will automatically create one. If the viewer type is SoXtViewer::BROWSER then the camera is told to view the supplied scene graph but is not added beneath that scene graph root. If the viewer type is SoXtViewer::EDITOR then the camera is added beneath the supplied scene graph root.

In addition to automatically creating a camera if needed, this base class also creates a headlight (directional light which is made to follow the camera), enables the user to change drawing styles (like wireframe or move wireframe), and buffering types. This base class also provides a convenient way to have the camera near and far clipping planes be automatically adjusted to minimize the clipping of objects in the scene.

Viewers allow the application to shadow event processing. When the application registers an event processing callback by calling setEventCallback() the viewer will invoke this callback for every X event it receives. However, unlike the render area, the viewer ignores the return value of this callback, and processes the event as usual. This allows the application to expand viewing capabilities without breaking the viewing paradigm. It is an easy way to hook up other devices, like the spaceball, to an existing viewer.

METHODS

    virtual void    
                        
virtual void             setCamera(SoCamera *cam)    
SoCamera *    
                        
SoCamera *               getCamera()
Set and get the edited camera. Setting the camera is only needed if the first camera found in the scene when setting the scene graph isn’t the one the user really wants to edit.

    virtual void    
                        
virtual void             setCameraType(SoType type)    
SoType    
                        
SoType                   getCameraType()
Set and get the camera type that will be created by the viewer if no cameras are found in the scene graph (see SoPerspectiveCamera and SoOrthographicCamera). By default an SoPerspectiveCamera will be created if no camera are found.

Note: the set method will only take effect next time a scene graph is specified (and if no camera are found).

    virtual void    
                        
virtual void             viewAll()
Changes the camera position to view the entire scene (the camera zoom or orientation isn’t changed).

    virtual void    
                        
virtual void             saveHomePosition()    
virtual void    
                        
virtual void             resetToHomePosition()
Saves and restores the camera values.

    virtual void    
                        
virtual void             setHeadlight(SbBool onOrOff)    
SbBool    
                        
SbBool                   isHeadlight()    
SoDirectionalLight *    
                        
SoDirectionalLight *     getHeadlight()
Turns the headlight on/off (default on) and return the headlight node.

    virtual void    
                        
virtual void             setDrawStyle(SoXtViewer::DrawType type, SoXtViewer::DrawStyle style)    
SoXtViewer::DrawStyle    
                        
SoXtViewer::DrawStyle    getDrawStyle(SoXtViewer::DrawType type)
Sets/gets the current drawing style in the main view — The user can specify the INTERACTIVE draw style (draw style used when the scene changes) independently from the STILL style. STILL defaults to VIEW_AS_IS. INTERACTIVE defaults to VIEW_NO_TEXTURE on machine that do not support fast texturing, VIEW_SAME_AS_STILL otherwise. Possible draw styles are:

VIEW_AS_IS — Leaves the objects unchanged.

VIEW_HIDDEN_LINE — Renders the object as wireframe, but only show the object front faces. This is accomplished using a two pass rendering. In the first pass, the objects are rendered as FILLED using the background BASE_COLOR (this sets up the wanted z-buffer values). The second pass then renders the objects as LINES, while adjusting the z-buffer range to limit overlapping polygons problems.

VIEW_NO_TEXTURE — Renders the objects withought any textures. This is done by setting the override flag on an SoComplexity node with textureQuality = 0.

VIEW_LOW_COMPLEXITY — Renders the objects withought any textures and with a low complexity. This is done by setting the override flag on an SoComplexity node with textureQuality = 0 and complexity value = 0.15.

VIEW_LINE — Renders the objects as LINES (no texture) with lighting model set to BASE_COLOR.

VIEW_LOW_RES_LINE — Renders the objects as LINES (no texture) using a low complexity, with lighting model set to BASE_COLOR and no depth comparison.

VIEW_POINT — Renders the objects as POINTS (no texture) with lighting model set to BASE_COLOR.

VIEW_LOW_RES_POINT — Renders the objects as POINTS (no texture) using a low complexity, with lighting model set to BASE_COLOR and no depth comparison.

VIEW_BBOX — Renders the objects with complexity BOUNDING_BOX, lighting model set to BASE_COLOR and drawing style LINES (no texture) with no depth comparison.

VIEW_SAME_AS_STILL — This only applies to INTERACTIVE draw type. It enables the interactive draw style mode to match the regular draw style mode withough having to set it explicitly.

    virtual void    
                        
virtual void             setBufferingType(SoXtViewer::BufferType type)    
SoXtViewer::BufferType    
                        
SoXtViewer::BufferType   getBufferingType()
Sets/gets the current buffering type in the main view (default SoXtViewer::BUFFER_DOUBLE).

    virtual void    
                        
virtual void             setViewing(SbBool onOrOff)    
SbBool    
                        
SbBool                   isViewing() const
Set/get whether the viewer is turned on or off. When turned on, events are consumed by the viewer. When viewing is off, events are processed by the viewers render area. This means events will be sent down to the scene graph for processing (i.e. picking can occur). Note that if the application has registered an event callback, it will be invoked on every event, whether viewing is turned on or not. However, the return value of this callback (which specifies whether the callback handled the event or not) is ignored when viewing is on. That is, the viewer will process the event even if the callback already did. This is to ensure that the viewing paradigm is not broken (default viewing is ON).

    virtual void    
                        
virtual void             setCursorEnabled(SbBool onOrOff)    
SbBool    
                        
SbBool                   isCursorEnabled() const
Set/get whether the viewer is allowed to change the cursor over the renderArea window. When disabled, the cursor is undefined by the viewer and will not change as the mode of the viewer changes. When re-enabled, the viewer will reset it to the appropriate icon.

Disabling the cursor enables the application to set the cursor directly on the viewer window or on any parent widget of the viewer. This can be used when setting a busy cursor on the application shell.

Subclasses should redefine this routine to call XUndefineCursor() or XDefineCursor() with the appropariate glyth. The base class routine only sets the flag.

    void    
                        
void                     setAutoClipping(SbBool onOrOff)    
SbBool    
                        
SbBool                   isAutoClipping() const
Set and get the auto clipping plane. When auto clipping is ON, the camera near and far planes are dynamically adjusted to be as tight as possible around the objects being viewed. When OFF, the user is expected to manually set those planes within the preference sheet (default is on).

    virtual void    
                        
virtual void             setStereoViewing(SbBool onOrOff)    
virtual SbBool    
                        
virtual SbBool           isStereoViewing()    
void    
                        
void                     setStereoOffset(float dist)    
float    
                        
float                    getStereoOffset()
Turns stereo viewing on/off on the viewer (default off). When in stereo mode, which may not work on all machines, the scene is rendered twice (in the left and right buffers) with an offset between the two views to simulate stereo viewing. Stereo glasses have to be used to see the effect and /usr/gfx/setmon needs to be called to set the monitor in stereo mode.

The user can also specify what the offset between the two views should be.

    void    
                        
void                     setDetailSeek(SbBool onOrOff)    
SbBool    
                        
SbBool                   isDetailSeek()
When the viewer is in seek mode, left mouse clicks initiate a pick, and the viewer changes its orientation and position to look at the picked object. This routine tells the seeking viewer whether to orient the camera towards the picked point (detail on), or the center of the object’s bounding box (detail off). Default is detail on.

    void    
                        
void                     setSeekTime(float seconds)    
float    
                        
float                    getSeekTime()
Set the time a seek takes to change to the new camera location. A value of zero seeks directly to the point without any animation. Default value is 2 seconds.

    void    
                        
void                     addStartCallback(SoXtViewerCB *f, void *userData = NULL)    
void    
                        
void                     addFinishCallback(SoXtViewerCB *f, void *userData = NULL)    
void    
                        
void                     removeStartCallback(SoXtViewerCB *f, void *userData = NULL)    
void    
                        
void                     removeFinishCallback(SoXtViewerCB *f, void *userData = NULL)
Add/remove start and finish callback routines on the viewer. Start callbacks are called whenever the user starts doing interactive viewing (for example, mouse down), and finish callbacks are called when user is done doing interactive work (for example, mouse up).

Note: The viewer "this" pointer is passed as callback data.

    void    
                        
void                     copyView(Time eventTime)    
void    
                        
void                     pasteView(Time eventTime)
Copy/paste the view. eventTime should be the time of the X event which initiated the copy or paste (e.g. if copy/paste is initiated from a keystroke, eventTime should be the time in the X KeyPress event.)

    virtual void    
                        
virtual void             recomputeSceneSize()
This can be used to let the viewer know that the scene graph has changed so that the viewer can recompute things like speed which depend on the scene graph size. Note: This routine is automatically called whenever setSceneGraph() is called.

SEE ALSO

SoXtComponent, SoXtRenderArea, SoXtExaminerViewer, SoXtWalkViewer, SoXtFlyViewer, SoXtPlaneViewer

Search for    or go to Top of page |  Section 3 |  Main Index


SOXTVIEWER(3IV) (-->)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.