SoWinMPFullViewer Class Reference

ScaleViz Multi-Pipe base viewer class which adds a decoration around the rendering area. More...

#include <Inventor/MP/Win/viewers/SoWinMPFullViewer.h>

Inheritance diagram for SoWinMPFullViewer:
SoWinMPViewer SoWinMPRenderArea SoWinMPGLWidget SoStereoViewer SoWinComponent SoWinMPExaminerViewer

List of all members.

Public Types

enum  BuildFlag {
  BUILD_NONE = 0x00,
  BUILD_DECORATION = 0x01,
  BUILD_POPUP = 0x02,
  BUILD_ALL = 0xff
}

Public Member Functions

void setDecoration (SbBool onOrOff)
SbBool isDecoration ()
void setPopupMenuEnabled (SbBool trueOrFalse)
SbBool isPopupMenuEnabled ()
void setClientPopupMenu (Hmenu hmenu)
SbBool isClientPopupMenuInstalled ()
SoWidget getAppPushButtonParent () const
void addAppPushButton (SoWidget newButton)
void insertAppPushButton (SoWidget newButton, int index)
void removeAppPushButton (SoWidget oldButton)
int findAppPushButton (SoWidget oldButton)
int lengthAppPushButton ()
SoWidget getRenderAreaWidget ()
virtual void setViewing (SbBool onOrOff)
virtual void setCamera (SoCamera *cam)
virtual void hide ()
virtual void setHeadlight (SbBool onOrOff)
virtual void setDrawStyle (SoWinMPViewer::DrawType type, SoWinMPViewer::DrawStyle style)
virtual void setBufferingType (SoWinMPViewer::BufferType type)
SoStereoDialoggetStereoDialog ()
void setStereoDialog (SoStereoDialog *newDialog)
void addPushAppButtonCallback (PushAppButtonCB *cb, void *data=NULL)
void addRedrawAppButtonCallback (RedrawAppButtonCB *cb, void *data=NULL)

Static Public Member Functions

static void setDoButtonBar (SbBool onOrOff)
static SbBool isDoButtonBar ()

Public Attributes

SoCallbackList popupPostCallback
SoCallbackList popupPreCallback
Hmenu rootPopup
Hmenu mainPopup
Hmenu funcPopup
Hmenu drawPopup
Hmenu prefPopup
UINT curPopupDrawItem
UINT curPopupMoveItem
UINT curPopupBufferItem
Hmenu hClientPopup

Detailed Description

ScaleViz Multi-Pipe base viewer class which adds a decoration around the rendering area.

This is the Multi-Pipe version of SoWinFullViewer.

NOTE: This class does not exist in Open Inventor 10.0 and later.

The typedefs, enums, and public methods of SoWinMPFullViewer are exactly the same as for SoWinFullViewer (except for the name change).


Member Enumeration Documentation

This specifies what should be build by default in the constructor.

Enumerator:
BUILD_NONE 

Doesn't build anything extra.

BUILD_DECORATION 

Build the decoration only.

BUILD_POPUP 

Build the popup menu only.

BUILD_ALL 

Build everything by default.


Member Function Documentation

void SoWinMPFullViewer::addAppPushButton ( SoWidget  newButton  ) 
void SoWinMPFullViewer::addPushAppButtonCallback ( PushAppButtonCB cb,
void *  data = NULL 
) [inline]
void SoWinMPFullViewer::addRedrawAppButtonCallback ( RedrawAppButtonCB cb,
void *  data = NULL 
) [inline]
int SoWinMPFullViewer::findAppPushButton ( SoWidget  oldButton  )  [inline]
SoWidget SoWinMPFullViewer::getAppPushButtonParent (  )  const [inline]
SoWidget SoWinMPFullViewer::getRenderAreaWidget (  )  [inline]
SoStereoDialog* SoWinMPFullViewer::getStereoDialog (  )  [inline]
virtual void SoWinMPFullViewer::hide (  )  [virtual]

This hides the component.

It calls the appropriate unrealize or unmanage routines.

Reimplemented from SoWinComponent.

void SoWinMPFullViewer::insertAppPushButton ( SoWidget  newButton,
int  index 
)
SbBool SoWinMPFullViewer::isClientPopupMenuInstalled (  )  [inline]
SbBool SoWinMPFullViewer::isDecoration (  )  [inline]
static SbBool SoWinMPFullViewer::isDoButtonBar (  )  [inline, static]
SbBool SoWinMPFullViewer::isPopupMenuEnabled (  )  [inline]
int SoWinMPFullViewer::lengthAppPushButton (  )  [inline]
void SoWinMPFullViewer::removeAppPushButton ( SoWidget  oldButton  ) 
virtual void SoWinMPFullViewer::setBufferingType ( SoWinMPViewer::BufferType  type  )  [virtual]

Sets the current buffering type in the main view (default SoWinViewer::BUFFER_DOUBLE).

Reimplemented from SoWinMPViewer.

virtual void SoWinMPFullViewer::setCamera ( SoCamera cam  )  [virtual]

Sets 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.

Reimplemented from SoWinMPViewer.

Reimplemented in SoWinMPExaminerViewer.

void SoWinMPFullViewer::setClientPopupMenu ( Hmenu  hmenu  ) 
void SoWinMPFullViewer::setDecoration ( SbBool  onOrOff  ) 
static void SoWinMPFullViewer::setDoButtonBar ( SbBool  onOrOff  )  [static]
virtual void SoWinMPFullViewer::setDrawStyle ( SoWinMPViewer::DrawType  type,
SoWinMPViewer::DrawStyle  style 
) [virtual]

Sets 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. Default is VIEW_AS_IS draw style for STILL and VIEW_SAME_AS_STILL for INTERACTIVE. Possible draw styles are:

VIEW_AS_IS - Leaves the objects unchanged.

VIEW_HIDDEN_LINE - Renders the object as wireframe, but only shows 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 without any textures. This is done by setting the override flag on an empty SoTexture2 node.

VIEW_LOW_COMPLEXITY - Renders the objects without any textures and with a low complexity. This is done by setting the override flag on an empty SoTexture2 node, and by setting a low complexity value on an SoComplexity node with override set to TRUE.

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 without having to set it explicitly.

Reimplemented from SoWinMPViewer.

virtual void SoWinMPFullViewer::setHeadlight ( SbBool  onOrOff  )  [virtual]

Turns the headlight on/off (default on).

Reimplemented from SoWinMPViewer.

void SoWinMPFullViewer::setPopupMenuEnabled ( SbBool  trueOrFalse  ) 

Enables/disables the viewer popup menu (default enabled).

See the viewer constructor to prevent the popup menu from being built.

The default value can be set using the environment variable OIV_VIEWER_POPUP_MENU (0 = OFF, 1 = ON).

Description or equivalent function for each submenu of this popup menu:

  • Functions: Manage the position of the camera: -> Home see resetToHomePosition() -> Set home see saveHomePosition() -> View all see viewAll() -> Seek see seekToPoint(const SbVec2s& mouseLocation)
  • DrawStyle: Manage the draw style and buffering style: -> see setDrawStyle(DrawType type, DrawStyle style) -> see setBufferingType(BufferType type)
  • Viewing: see setViewing()
  • Decorations: see setDecoration()
  • FullScreen: see setFullScreen()
  • HeadLight: see setHeadlight()
  • Preferences: -> Seek to point: Enables/disables seek mode (like the 'S' key) -> Auto clip planes: Enables/disables automatic clipping -> Automatic interactive mode: Enables/disables automatic interactive mode -> Stereo: Opens the stereo dialog -> Full scene antialiasing: see setFullSceneAntialiasing() -> Record: Opens the recording dialog -> DirectViz: Opens the DirectViz ray tracing dialog -> Rotation axes: Shows/hides the rotation axes
void SoWinMPFullViewer::setStereoDialog ( SoStereoDialog newDialog  )  [inline]
virtual void SoWinMPFullViewer::setViewing ( SbBool  onOrOff  )  [virtual]

Sets whether the viewer is turned on or off.

When turned on, messages are consumed by the viewer. When viewing is off, messages are processed by the viewer's render area. This means messages will be sent down to the scene graph for processing (i.e. picking can occur). Note that if the application has registered a message callback, it will be invoked on every message, whether viewing is turned on or not. However, the return value of this callback (which specifies whether the callback handled the message or not) is ignored when viewing is on. That is, the viewer will process the message even if the callback already did. This is to ensure that the viewing paradigm is not broken (default viewing is on).

Reimplemented from SoWinMPViewer.

Reimplemented in SoWinMPExaminerViewer.


Member Data Documentation

In this version we track the currently "check marked" menu item in the drawstyle popup (only one checked at a time).

Popup menu provided by a client (i.e.

application program) of the viewer.

The callbacks in this list will be invoked after the action selected from the viewer popup has been performed.

This applies to actions selected only from the viewer popup, not from the clients popup. Note that it is possible to add the viewer's pre-defined popup as a submenu of the client's popup. In this case the callbacks in this list are still invoked after actions selected from the viewer popup are performed. The callback data for the callback is a pointer to the SoWinFullViewer object.

The callbacks in this list are invoked immediately prior to display of the popup menu, regardless of whether it is the pre-defined viewer menu or a menu installed by the client application.

The callback data for the callback is a pointer to the SoWinFullViewer object.

Pointers to the popup menu and its submenus.


The documentation for this class was generated from the following file:

Open Inventor by FEI reference manual, generated on 19 Aug 2019
Copyright © FEI S.A.S. All rights reserved.
http://www.openinventor.com/