Class for stereo management. More...
#include <Inventor/components/stereo/SoBaseStereo.h>
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, SoGuiViewer *guiViewer=NULL) | |
virtual | ~SoBaseStereo () |
void | setStereoViewer (SoStereoViewer *viewer=NULL) |
SoStereoViewer * | getStereoViewer () |
virtual void | reverseStereoView (SbBool reverse) |
virtual SbBool | isStereoViewReversed () const |
virtual void | renderStereoView () |
virtual StereoViewType | getStereoViewType ()=0 |
virtual SbBool | canClearBeforeRender () const |
virtual SbBool | requireHardware () |
virtual void | clearStereo () |
void | setStereoElement (SoSceneManager *, SoCamera::StereoMode stereoMode) |
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.
SoStereoViewer, SoWinViewer, SoXtViewer, SoQtViewer
Stereo view types.
SoBaseStereo::SoBaseStereo | ( | SoStereoViewer * | stereoViewer = NULL , |
|
SoGuiViewer * | guiViewer = NULL | |||
) |
Constructor.
virtual SoBaseStereo::~SoBaseStereo | ( | ) | [virtual] |
Destructor.
The destructor calls clearStereo().
virtual SbBool SoBaseStereo::canClearBeforeRender | ( | ) | const [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.
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.
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 | ( | ) | const [virtual] |
Queries stereo reversal.
virtual void SoBaseStereo::renderStereoView | ( | ) | [virtual] |
Renders the stereo view.
You can use the SoNoStereoView subclass to render the view without any stereo effect.
Reimplemented in SoHalfScreenStereo, SoNoStereoView, and SoPassiveStereo.
virtual SbBool SoBaseStereo::requireHardware | ( | ) | [inline, virtual] |
Returns true or false depending on the type of stereo buffering.
Reimplemented in SoRawStereo.
virtual void SoBaseStereo::reverseStereoView | ( | SbBool | reverse | ) | [virtual] |
Sets stereo reversal.
The left view becomes the right view, and the right view becomes the left view.
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.