SoBaseStereo Class Reference
[Stereo]

VSG extension Class for stereo management. More...

#include <Inventor/components/stereo/SoBaseStereo.h>

Inheritance diagram for SoBaseStereo:
SoAnaglyphStereo SoHalfScreenStereo SoInterlacedStereo SoNoStereoView SoPassiveStereo SoRawStereo

List of all members.

Public Types

enum  StereoViewType {
  NO_STEREO_VIEW = 0,
  INTERLACED_STEREO = 1,
  HALF_SCREEN_STEREO = 2,
  RAW_STEREO = 3,
  OPENGL_STEREO = 3,
  ANAGLYPH_STEREO = 4,
  ANAGLYPH = 4,
  PASSIVE_STEREO = 6
}

Public Member Functions

 SoBaseStereo (SoStereoViewer *stereoViewer=NULL)
virtual ~SoBaseStereo ()
void setStereoViewer (SoStereoViewer *viewer=NULL)
SoStereoViewergetStereoViewer ()
virtual void reverseStereoView (SbBool reverse)=0
virtual SbBool isStereoViewReversed ()=0
virtual void renderStereoView ()=0
virtual StereoViewType getStereoViewType ()=0
virtual SbBool canClearBeforeRender ()=0
virtual SbBool requireHardware ()=0
virtual void clearStereo ()
void setStereoElement (SoSceneManager *, SoCamera::StereoMode stereoMode)

Detailed Description

VSG extension Class for stereo management.

This class defines a strategy of stereo management. Using a subclass of SoBaseStereo allows an SoWinViewer object to use a stereoscopic rendering mode.

Note: because of internal dependant calls between stereo classes and Open Inventor viewer classes, SoStereoViewer and SoBaseStereo (and inheriting classes) cannot be used without using SoWinViewer/SoXtViewer/SoQtViewer inheriting classes.

SEE ALSO

SoStereoViewer, SoWinViewer, SoXtViewer, SoQtViewer


Member Enumeration Documentation

Stereo view types.

Enumerator:
NO_STEREO_VIEW 

Monoscopic viewing.

INTERLACED_STEREO 

Two views interlaced in a single image.

HALF_SCREEN_STEREO 

Each view displayed in a half screen.

RAW_STEREO 

Two views superimposed on a single image.

OPENGL_STEREO 

Ditto.

ANAGLYPH_STEREO 

Each view is displayed through a color filter.

ANAGLYPH 

Ditto.

PASSIVE_STEREO 

Constructor & Destructor Documentation

SoBaseStereo::SoBaseStereo ( SoStereoViewer stereoViewer = NULL  ) 

Constructor.

virtual SoBaseStereo::~SoBaseStereo (  )  [virtual]

Destructor.

The destructor calls clearStereo().


Member Function Documentation

virtual SbBool SoBaseStereo::canClearBeforeRender (  )  [pure virtual]

Queries ability to clear before rendering.

This allows a subclass to forbid the color buffer from being cleared before any rendering. Typically, this takes place after rendering the first view. Then, if canClearBeforeRender() returns FALSE, the color buffer can keep previous modifications, such as for the stencil buffer, etc.

Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.

virtual void SoBaseStereo::clearStereo (  )  [virtual]

A stereo view type may need to restore a state when it is no longer used by a stereo viewer.

Reimplemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.

SoStereoViewer* SoBaseStereo::getStereoViewer (  )  [inline]

Queries the stereo viewer.

virtual StereoViewType SoBaseStereo::getStereoViewType (  )  [pure virtual]

Queries the stereo view type.

Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.

virtual SbBool SoBaseStereo::isStereoViewReversed (  )  [pure virtual]
virtual void SoBaseStereo::renderStereoView (  )  [pure virtual]

Renders the stereo view.

You can use the SoNoStereoView subclass to render the view without any stereo effect.

Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.

virtual SbBool SoBaseStereo::requireHardware (  )  [pure virtual]

Returns true or false depending on the type of stereo buffering.

Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.

virtual void SoBaseStereo::reverseStereoView ( SbBool  reverse  )  [pure virtual]

Sets stereo reversal.

The left view becomes the right view, and the right view becomes the left view.

Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.

void SoBaseStereo::setStereoElement ( SoSceneManager ,
SoCamera::StereoMode  stereoMode 
)

Apply stereo parameters to the passed SoSceneManager.

void SoBaseStereo::setStereoViewer ( SoStereoViewer viewer = NULL  )  [inline]

Sets the stereo viewer.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/