# osgUtil::SceneView Class Reference

SceneView is literally a view of a scene, encapsulating the 'camera' (not to be confused with Producer::Camera) (modelview+projection matrices), global state, lights and the scene itself. More...

Inheritance diagram for osgUtil::SceneView:

[legend]
List of all members.

## Public Types

typedef Options | LightingMode
enum | Options { NO_SCENEVIEW_LIGHT = 0x0, HEADLIGHT = 0x1, SKY_LIGHT = 0x2, COMPILE_GLOBJECTS_AT_INIT = 0x4, STANDARD_SETTINGS }
enum | FusionDistanceMode { USE_FUSION_DISTANCE_VALUE, PROPORTIONAL_TO_SCREEN_DISTANCE }
| FusionDistanceMode is used only when working in stereo. More...

## Public Member Functions

| SceneView (osg::DisplaySettings *ds=NULL)
| Construct a default scene view.
void | setDefaults (unsigned int options=STANDARD_SETTINGS)
| Set scene view to use default global state, light, camera and render visitor.
void | setSceneData (osg::Node *node)
| Set the data to view.
osg::Node * | getSceneData ()
| Get the scene data to view.
const osg::Node * | getSceneData () const
| Get the const scene data which to view.
void | setViewport (osg::Viewport *viewport)
| Set the viewport of the scene view to use specified osg::Viewport.
void | setViewport (int x, int y, int width, int height)
| Set the viewport of the scene view to specified dimensions.
const osg::Viewport * | getViewport () const
| Get the const viewport.
osg::Viewport * | getViewport ()
| Get the viewport.
void | getViewport (int &x, int &y, int &width, int &height) const
| Get the viewport of the scene view.
void | setDisplaySettings (osg::DisplaySettings *vs)
| Set the DisplaySettings.
const osg::DisplaySettings * | getDisplaySettings () const
| Get the const DisplaySettings.
osg::DisplaySettings * | getDisplaySettings ()
| Get the DisplaySettings.
void | setClearColor (const osg::Vec4 &color)
| Set the color used in glClearColor().
const osg::Vec4 & | getClearColor () const
| Get the color used in glClearColor.
void | setGlobalStateSet (osg::StateSet *state)
osg::StateSet * | getGlobalStateSet ()
const osg::StateSet * | getGlobalStateSet () const
void | setLocalStateSet (osg::StateSet *state)
osg::StateSet * | getLocalStateSet ()
const osg::StateSet * | getLocalStateSet () const
void | setLightingMode (LightingMode mode)
LightingMode | getLightingMode () const
void | setLight (osg::Light *light)
osg::Light * | getLight ()
const osg::Light * | getLight () const
void | setState (osg::State *state)
osg::State * | getState ()
const osg::State * | getState () const
void | setProjectionMatrix (const osg::Matrixf &matrix)
| Set the projection matrix.
void | setProjectionMatrix (const osg::Matrixd &matrix)
| Set the projection matrix.
void | setProjectionMatrixAsOrtho (double left, double right, double bottom, double top, double zNear, double zFar)
| Set to an orthographic projection.
void | setProjectionMatrixAsOrtho2D (double left, double right, double bottom, double top)
| Set to a 2D orthographic projection.
void | setProjectionMatrixAsFrustum (double left, double right, double bottom, double top, double zNear, double zFar)
| Set to a perspective projection.
void | setProjectionMatrixAsPerspective (double fovy, double aspectRatio, double zNear, double zFar)
| Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details.
osg::Matrixd & | getProjectionMatrix ()
| Get the projection matrix.
const osg::Matrixd & | getProjectionMatrix () const
| Get the const projection matrix.
bool | getProjectionMatrixAsOrtho (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar)
| Get the othographic settings of the orthographic projection matrix.
bool | getProjectionMatrixAsFrustum (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar)
| Get the frustum setting of a perspective projection matrix.
bool | getProjectionMatrixAsPerspective (double &fovy, double &aspectRatio, double &zNear, double &zFar)
| Get the frustum setting of a symmetric perspective projection matrix.
void | setViewMatrix (const osg::Matrixf &matrix)
| Set the view matrix.
void | setViewMatrix (const osg::Matrixd &matrix)
| Set the view matrix.
void | setViewMatrixAsLookAt (const osg::Vec3 &eye, const osg::Vec3 &center, const osg::Vec3 &up)
| Set to the position and orientation of view matrix, using the same convention as gluLookAt.
osg::Matrixd & | getViewMatrix ()
| Get the view matrix.
const osg::Matrixd & | getViewMatrix () const
| Get the const view matrix.
void | getViewMatrixAsLookAt (osg::Vec3 &eye, osg::Vec3 &center, osg::Vec3 &up, float lookDistance=1.0f)
| Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.
void | setInitVisitor (osg::NodeVisitor *av)
osg::NodeVisitor * | getInitVisitor ()
const osg::NodeVisitor * | getInitVisitor () const
void | setUpdateVisitor (osg::NodeVisitor *av)
osg::NodeVisitor * | getUpdateVisitor ()
const osg::NodeVisitor * | getUpdateVisitor () const
void | setCullVisitor (osgUtil::CullVisitor *cv)
osgUtil::CullVisitor * | getCullVisitor ()
const osgUtil::CullVisitor * | getCullVisitor () const
void | setCullVisitorLeft (osgUtil::CullVisitor *cv)
osgUtil::CullVisitor * | getCullVisitorLeft ()
const osgUtil::CullVisitor * | getCullVisitorLeft () const
void | setCullVisitorRight (osgUtil::CullVisitor *cv)
osgUtil::CullVisitor * | getCullVisitorRight ()
const osgUtil::CullVisitor * | getCullVisitorRight () const
void | setCollectOccludersVisitor (osg::CollectOccludersVisitor *cov)
osg::CollectOccludersVisitor * | getCollectOccludersVisitor ()
const osg::CollectOccludersVisitor * | getCollectOccludersVisitor () const
void | setRenderGraph (osgUtil::RenderGraph *rg)
osgUtil::RenderGraph * | getRenderGraph ()
const osgUtil::RenderGraph * | getRenderGraph () const
void | setRenderGraphLeft (osgUtil::RenderGraph *rg)
osgUtil::RenderGraph * | getRenderGraphLeft ()
const osgUtil::RenderGraph * | getRenderGraphLeft () const
void | setRenderGraphRight (osgUtil::RenderGraph *rg)
osgUtil::RenderGraph * | getRenderGraphRight ()
const osgUtil::RenderGraph * | getRenderGraphRight () const
void | setRenderStage (osgUtil::RenderStage *rs)
osgUtil::RenderStage * | getRenderStage ()
const osgUtil::RenderStage * | getRenderStage () const
void | setRenderStageLeft (osgUtil::RenderStage *rs)
osgUtil::RenderStage * | getRenderStageLeft ()
const osgUtil::RenderStage * | getRenderStageLeft () const
void | setRenderStageRight (osgUtil::RenderStage *rs)
osgUtil::RenderStage * | getRenderStageRight ()
const osgUtil::RenderStage * | getRenderStageRight () const
void | setDrawBufferValue (GLenum drawBufferValue)
| Set the draw buffer value used at the start of each frame draw.
GLenum | getDrawBufferValue () const
| Get the draw buffer value used at the start of each frame draw.
void | setFusionDistance (FusionDistanceMode mode, float value=1.0f)
| Set the FusionDistanceMode and Value.
FusionDistanceMode | getFusionDistanceMode () const
| Get the FusionDistanceMode.
float | getFusionDistanceValue () const
| Get the FusionDistanceValue.
void | setPrioritizeTextures (bool pt)
| Set whether the draw method should call renderer->prioritizeTexture.
bool | getPrioritizeTextures () const
| Get whether the draw method should call renderer->prioritizeTexture.
void | setComputeStereoMatricesCallback (ComputeStereoMatricesCallback *callback)
ComputeStereoMatricesCallback * | getComputeStereoMatricesCallback ()
const ComputeStereoMatricesCallback * | getComputeStereoMatricesCallback () const
bool | projectWindowIntoObject (const osg::Vec3 &window, osg::Vec3 &object) const
| Calculate, via glUnProject, the object coordinates of a window point.
bool | projectWindowXYIntoObject (int x, int y, osg::Vec3 &near_point, osg::Vec3 &far_point) const
| Calculate, via glUnProject, the object coordinates of a window x,y when projected onto the near and far planes.
bool | projectObjectIntoWindow (const osg::Vec3 &object, osg::Vec3 &window) const
| Calculate, via glProject, the object coordinates of a window.
void | setFrameStamp (osg::FrameStamp *fs)
| Set the frame stamp for the current frame.
const osg::FrameStamp * | getFrameStamp () const
| Get the frame stamp for the current frame.
osg::Matrixd | computeLeftEyeProjection (const osg::Matrixd &projection) const
osg::Matrixd | computeLeftEyeView (const osg::Matrixd &view) const
osg::Matrixd | computeRightEyeProjection (const osg::Matrixd &projection) const
osg::Matrixd | computeRightEyeView (const osg::Matrixd &view) const
virtual osg::Matrixd | computeLeftEyeProjectionImplementation (const osg::Matrixd &projection) const
virtual osg::Matrixd | computeLeftEyeViewImplementation (const osg::Matrixd &view) const
virtual osg::Matrixd | computeRightEyeProjectionImplementation (const osg::Matrixd &projection) const
virtual osg::Matrixd | computeRightEyeViewImplementation (const osg::Matrixd &view) const
virtual void | init ()
| Do init traversal of attached scene graph using Init NodeVisitor.
virtual void | update ()
| Do app traversal of attached scene graph using App NodeVisitor.
virtual void | cull ()
| Do cull traversal of attached scene graph using Cull NodeVisitor.
virtual void | draw ()
| Do draw traversal of draw bins generated by cull traversal.
virtual void | releaseAllGLObjects ()
| Release all OpenGL objects from the scene graph, such as texture objects, display lists etc.
virtual void | flushAllDeletedGLObjects ()
| Flush all deleted OpenGL objects, such as texture objects, display lists etc.
virtual void | flushDeletedGLObjects (double &availableTime)
| Flush deleted OpenGL objects, such as texture objects, display lists etc within specified available time.

## Protected Member Functions

virtual | ~SceneView ()
virtual void | cullStage (const osg::Matrixd &projection, const osg::Matrixd &modelview, osgUtil::CullVisitor *cullVisitor, osgUtil::RenderGraph *rendergraph, osgUtil::RenderStage *renderStage)
| Do cull traversal of attached scene graph using Cull NodeVisitor.
const osg::Matrix | computeMVPW () const
void | clearArea (int x, int y, int width, int height, const osg::Vec4 &color)

## Protected Attributes

osg::ref_ptr< osg::StateSet > | _localStateSet
osg::ref_ptr< osg::State > | _state
osg::Matrixd | _projectionMatrix
osg::Matrixd | _viewMatrix
bool | _initCalled
osg::ref_ptr< osg::NodeVisitor > | _initVisitor
osg::ref_ptr< osg::NodeVisitor > | _updateVisitor
osg::ref_ptr< osgUtil::CullVisitor > | _cullVisitor
osg::ref_ptr< osgUtil::RenderGraph > | _rendergraph
osg::ref_ptr< osgUtil::RenderStage > | _renderStage
osg::ref_ptr< ComputeStereoMatricesCallback > | _computeStereoMatricesCallback
osg::ref_ptr< osgUtil::CullVisitor > | _cullVisitorLeft
osg::ref_ptr< osgUtil::RenderGraph > | _rendergraphLeft
osg::ref_ptr< osgUtil::RenderStage > | _renderStageLeft
osg::ref_ptr< osgUtil::CullVisitor > | _cullVisitorRight
osg::ref_ptr< osgUtil::RenderGraph > | _rendergraphRight
osg::ref_ptr< osgUtil::RenderStage > | _renderStageRight
osg::ref_ptr< osg::CollectOccludersVisitor > | _collectOccludersVisistor
osg::ref_ptr< osg::FrameStamp > | _frameStamp
osg::ref_ptr< osg::Node > | _sceneData
osg::ref_ptr< osg::StateSet > | _globalStateSet
osg::ref_ptr< osg::Light > | _light
osg::ref_ptr< osg::DisplaySettings > | _displaySettings
osg::Vec4 | _clearColor
FusionDistanceMode | _fusionDistanceMode
float | _fusionDistanceValue
osg::ref_ptr< osg::Viewport > | _viewport
LightingMode | _lightingMode
bool | _prioritizeTextures
GLenum | _drawBufferValue
bool | _requiresFlush

## Classes

struct | ComputeStereoMatricesCallback
| Callback for overidding the default method for compute the offset projection and view matrices. More...

## Detailed Description

SceneView is literally a view of a scene, encapsulating the 'camera' (not to be confused with Producer::Camera) (modelview+projection matrices), global state, lights and the scene itself.

Provides methods for setting up the view and rendering it.

## Member Typedef Documentation

typedef Options osgUtil::SceneView::LightingMode

## Member Enumeration Documentation

enum osgUtil::SceneView::FusionDistanceMode

FusionDistanceMode is used only when working in stereo.

Enumeration values:

  USE_FUSION_DISTANCE_VALUE | Use fusion distance from the value set on the SceneView.
  PROPORTIONAL_TO_SCREEN_DISTANCE | Compute the fusion distance by multiplying the screen distance by the fusion distance value.

enum osgUtil::SceneView::Options

Enumeration values:

  NO_SCENEVIEW_LIGHT |
  HEADLIGHT |
  SKY_LIGHT |
  COMPILE_GLOBJECTS_AT_INIT |
  STANDARD_SETTINGS |

## Constructor & Destructor Documentation

SceneView::SceneView | ( | osg::DisplaySettings * | ds = `NULL` | ) |

| Construct a default scene view.

SceneView::~SceneView | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

void SceneView::clearArea | ( | int | x,
|  | int | y,
|  | int | width,
|  | int | height,
|  | const osg::Vec4 & | color
| ) | `[protected]`

osg::Matrixd osgUtil::SceneView::computeLeftEyeProjection | ( | const osg::Matrixd & | projection | ) | const`[inline]`

osg::Matrixd SceneView::computeLeftEyeProjectionImplementation | ( | const osg::Matrixd & | projection | ) | const`[virtual]`

osg::Matrixd osgUtil::SceneView::computeLeftEyeView | ( | const osg::Matrixd & | view | ) | const`[inline]`

osg::Matrixd SceneView::computeLeftEyeViewImplementation | ( | const osg::Matrixd & | view | ) | const`[virtual]`

const osg::Matrix SceneView::computeMVPW | ( |  | ) | const`[protected]`

osg::Matrixd osgUtil::SceneView::computeRightEyeProjection | ( | const osg::Matrixd & | projection | ) | const`[inline]`

osg::Matrixd SceneView::computeRightEyeProjectionImplementation | ( | const osg::Matrixd & | projection | ) | const`[virtual]`

osg::Matrixd osgUtil::SceneView::computeRightEyeView | ( | const osg::Matrixd & | view | ) | const`[inline]`

osg::Matrixd SceneView::computeRightEyeViewImplementation | ( | const osg::Matrixd & | view | ) | const`[virtual]`

void SceneView::cull | ( |  | ) | `[virtual]`

| Do cull traversal of attached scene graph using Cull NodeVisitor.

void SceneView::cullStage | ( | const osg::Matrixd & | projection,
|  | const osg::Matrixd & | modelview,
|  | osgUtil::CullVisitor * | cullVisitor,
|  | osgUtil::RenderGraph * | rendergraph,
|  | osgUtil::RenderStage * | renderStage
| ) | `[protected, virtual]`

| Do cull traversal of attached scene graph using Cull NodeVisitor.

void SceneView::draw | ( |  | ) | `[virtual]`

| Do draw traversal of draw bins generated by cull traversal.

void SceneView::flushAllDeletedGLObjects | ( |  | ) | `[virtual]`

| Flush all deleted OpenGL objects, such as texture objects, display lists etc.

void SceneView::flushDeletedGLObjects | ( | double & | availableTime | ) | `[virtual]`

| Flush deleted OpenGL objects, such as texture objects, display lists etc within specified available time.

const osg::Vec4& osgUtil::SceneView::getClearColor | ( |  | ) | const`[inline]`

| Get the color used in glClearColor.

const osg::CollectOccludersVisitor* osgUtil::SceneView::getCollectOccludersVisitor | ( |  | ) | const`[inline]`

osg::CollectOccludersVisitor* osgUtil::SceneView::getCollectOccludersVisitor | ( |  | ) | `[inline]`

const ComputeStereoMatricesCallback* osgUtil::SceneView::getComputeStereoMatricesCallback | ( |  | ) | const`[inline]`

ComputeStereoMatricesCallback* osgUtil::SceneView::getComputeStereoMatricesCallback | ( |  | ) | `[inline]`

const osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitor | ( |  | ) | const`[inline]`

osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitor | ( |  | ) | `[inline]`

const osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorLeft | ( |  | ) | const`[inline]`

osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorLeft | ( |  | ) | `[inline]`

const osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorRight | ( |  | ) | const`[inline]`

osgUtil::CullVisitor* osgUtil::SceneView::getCullVisitorRight | ( |  | ) | `[inline]`

osg::DisplaySettings* osgUtil::SceneView::getDisplaySettings | ( |  | ) | `[inline]`

| Get the DisplaySettings.

const osg::DisplaySettings* osgUtil::SceneView::getDisplaySettings | ( |  | ) | const`[inline]`

| Get the const DisplaySettings.

GLenum osgUtil::SceneView::getDrawBufferValue | ( |  | ) | const`[inline]`

| Get the draw buffer value used at the start of each frame draw.

const osg::FrameStamp* osgUtil::SceneView::getFrameStamp | ( |  | ) | const`[inline]`

| Get the frame stamp for the current frame.

FusionDistanceMode osgUtil::SceneView::getFusionDistanceMode | ( |  | ) | const`[inline]`

| Get the FusionDistanceMode.

float osgUtil::SceneView::getFusionDistanceValue | ( |  | ) | const`[inline]`

| Get the FusionDistanceValue. Note, only used for USE_FUSION_DISTANCE_VALUE & PROPORTIONAL_TO_SCREEN_DISTANCE modes.

const osg::StateSet* osgUtil::SceneView::getGlobalStateSet | ( |  | ) | const`[inline]`

osg::StateSet* osgUtil::SceneView::getGlobalStateSet | ( |  | ) | `[inline]`

const osg::NodeVisitor* osgUtil::SceneView::getInitVisitor | ( |  | ) | const`[inline]`

osg::NodeVisitor* osgUtil::SceneView::getInitVisitor | ( |  | ) | `[inline]`

const osg::Light* osgUtil::SceneView::getLight | ( |  | ) | const`[inline]`

osg::Light* osgUtil::SceneView::getLight | ( |  | ) | `[inline]`

LightingMode osgUtil::SceneView::getLightingMode | ( |  | ) | const`[inline]`

const osg::StateSet* osgUtil::SceneView::getLocalStateSet | ( |  | ) | const`[inline]`

osg::StateSet* osgUtil::SceneView::getLocalStateSet | ( |  | ) | `[inline]`

bool osgUtil::SceneView::getPrioritizeTextures | ( |  | ) | const`[inline]`

| Get whether the draw method should call renderer->prioritizeTexture.

const osg::Matrixd& osgUtil::SceneView::getProjectionMatrix | ( |  | ) | const`[inline]`

| Get the const projection matrix.

osg::Matrixd& osgUtil::SceneView::getProjectionMatrix | ( |  | ) | `[inline]`

| Get the projection matrix.

bool SceneView::getProjectionMatrixAsFrustum | ( | double & | left,
|  | double & | right,
|  | double & | bottom,
|  | double & | top,
|  | double & | zNear,
|  | double & | zFar
| ) |

| Get the frustum setting of a perspective projection matrix. Returns false if matrix is not a perspective matrix, where parameter values are undefined.

bool SceneView::getProjectionMatrixAsOrtho | ( | double & | left,
|  | double & | right,
|  | double & | bottom,
|  | double & | top,
|  | double & | zNear,
|  | double & | zFar
| ) |

| Get the othographic settings of the orthographic projection matrix. Returns false if matrix is not an orthographic matrix, where parameter values are undefined.

bool SceneView::getProjectionMatrixAsPerspective | ( | double & | fovy,
|  | double & | aspectRatio,
|  | double & | zNear,
|  | double & | zFar
| ) |

Get the frustum setting of a symmetric perspective projection matrix.

Returns false if matrix is not a perspective matrix, where parameter values are undefined. Note, if matrix is not a symmetric perspective matrix then the shear will be lost. Asymmetric matrices occur when stereo, power walls, caves and reality center display are used. In these configurations one should use the 'getProjectionMatrixAsFrustum' method instead.

const osgUtil::RenderGraph* osgUtil::SceneView::getRenderGraph | ( |  | ) | const`[inline]`

osgUtil::RenderGraph* osgUtil::SceneView::getRenderGraph | ( |  | ) | `[inline]`

const osgUtil::RenderGraph* osgUtil::SceneView::getRenderGraphLeft | ( |  | ) | const`[inline]`

osgUtil::RenderGraph* osgUtil::SceneView::getRenderGraphLeft | ( |  | ) | `[inline]`

const osgUtil::RenderGraph* osgUtil::SceneView::getRenderGraphRight | ( |  | ) | const`[inline]`

osgUtil::RenderGraph* osgUtil::SceneView::getRenderGraphRight | ( |  | ) | `[inline]`

const osgUtil::RenderStage* osgUtil::SceneView::getRenderStage | ( |  | ) | const`[inline]`

osgUtil::RenderStage* osgUtil::SceneView::getRenderStage | ( |  | ) | `[inline]`

const osgUtil::RenderStage* osgUtil::SceneView::getRenderStageLeft | ( |  | ) | const`[inline]`

osgUtil::RenderStage* osgUtil::SceneView::getRenderStageLeft | ( |  | ) | `[inline]`

const osgUtil::RenderStage* osgUtil::SceneView::getRenderStageRight | ( |  | ) | const`[inline]`

osgUtil::RenderStage* osgUtil::SceneView::getRenderStageRight | ( |  | ) | `[inline]`

const osg::Node* osgUtil::SceneView::getSceneData | ( |  | ) | const`[inline]`

| Get the const scene data which to view. The data will typically be an osg::Scene but can be any osg::Node type.

osg::Node* osgUtil::SceneView::getSceneData | ( |  | ) | `[inline]`

| Get the scene data to view. The data will typically be an osg::Scene but can be any osg::Node type.

const osg::State* osgUtil::SceneView::getState | ( |  | ) | const`[inline]`

osg::State* osgUtil::SceneView::getState | ( |  | ) | `[inline]`

const osg::NodeVisitor* osgUtil::SceneView::getUpdateVisitor | ( |  | ) | const`[inline]`

osg::NodeVisitor* osgUtil::SceneView::getUpdateVisitor | ( |  | ) | `[inline]`

const osg::Matrixd& osgUtil::SceneView::getViewMatrix | ( |  | ) | const`[inline]`

| Get the const view matrix.

osg::Matrixd& osgUtil::SceneView::getViewMatrix | ( |  | ) | `[inline]`

| Get the view matrix.

void SceneView::getViewMatrixAsLookAt | ( | osg::Vec3 & | eye,
|  | osg::Vec3 & | center,
|  | osg::Vec3 & | up,
|  | float | lookDistance = `1.0f`
| ) |

| Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.

void osgUtil::SceneView::getViewport | ( | int & | x,
|  | int & | y,
|  | int & | width,
|  | int & | height
| ) | const`[inline]`

| Get the viewport of the scene view.

osg::Viewport* osgUtil::SceneView::getViewport | ( |  | ) | `[inline]`

| Get the viewport.

const osg::Viewport* osgUtil::SceneView::getViewport | ( |  | ) | const`[inline]`

| Get the const viewport.

void SceneView::init | ( |  | ) | `[virtual]`

Do init traversal of attached scene graph using Init NodeVisitor.

The init traversal is called once for each SceneView, and should be used to compile display list, texture objects intialize data not otherwise intialized during scene graph loading. Note, is called automatically by update & cull if it hasn't already been called elsewhere. Also init() should only ever be called within a valid graphics context.

bool SceneView::projectObjectIntoWindow | ( | const osg::Vec3 & | object,
|  | osg::Vec3 & | window
| ) | const

Calculate, via glProject, the object coordinates of a window.

Note, current implementation requires that SceneView::draw() has been previously called for projectWindowIntoObject to produce valid values. Consistent with OpenGL windows coordinates are calculated relative to the bottom left of the window, whereas window API's normally have the top left as the origin, so you may need to pass in (mouseX,window_height-mouseY,...). Returns true on successful projection.

bool SceneView::projectWindowIntoObject | ( | const osg::Vec3 & | window,
|  | osg::Vec3 & | object
| ) | const

| Calculate, via glUnProject, the object coordinates of a window point. Note, current implementation requires that SceneView::draw() has been previously called for projectWindowIntoObject to produce valid values. Consistent with OpenGL windows coordinates are calculated relative to the bottom left of the window. Returns true on successful projection.

bool SceneView::projectWindowXYIntoObject | ( | int | x,
|  | int | y,
|  | osg::Vec3 & | near_point,
|  | osg::Vec3 & | far_point
| ) | const

| Calculate, via glUnProject, the object coordinates of a window x,y when projected onto the near and far planes. Note, current implementation requires that SceneView::draw() has been previously called for projectWindowIntoObject to produce valid values. Consistent with OpenGL windows coordinates are calculated relative to the bottom left of the window. Returns true on successful projection.

void SceneView::releaseAllGLObjects | ( |  | ) | `[virtual]`

| Release all OpenGL objects from the scene graph, such as texture objects, display lists etc. These released scene graphs placed in the respective delete GLObjects cache, which then need to be deleted in OpenGL by SceneView::flushAllDeleteGLObjects().

void osgUtil::SceneView::setClearColor | ( | const osg::Vec4 & | color | ) | `[inline]`

| Set the color used in glClearColor(). Defaults to an off blue color.

void osgUtil::SceneView::setCollectOccludersVisitor | ( | osg::CollectOccludersVisitor * | cov | ) | `[inline]`

void osgUtil::SceneView::setComputeStereoMatricesCallback | ( | ComputeStereoMatricesCallback * | callback | ) | `[inline]`

void osgUtil::SceneView::setCullVisitor | ( | osgUtil::CullVisitor * | cv | ) | `[inline]`

void osgUtil::SceneView::setCullVisitorLeft | ( | osgUtil::CullVisitor * | cv | ) | `[inline]`

void osgUtil::SceneView::setCullVisitorRight | ( | osgUtil::CullVisitor * | cv | ) | `[inline]`

void SceneView::setDefaults | ( | unsigned int | options = `STANDARD_SETTINGS` | ) |

| Set scene view to use default global state, light, camera and render visitor.

void osgUtil::SceneView::setDisplaySettings | ( | osg::DisplaySettings * | vs | ) | `[inline]`

| Set the DisplaySettings.

void osgUtil::SceneView::setDrawBufferValue | ( | GLenum | drawBufferValue | ) | `[inline]`

| Set the draw buffer value used at the start of each frame draw. Note, overridden in quad buffer stereo mode

void osgUtil::SceneView::setFrameStamp | ( | osg::FrameStamp * | fs | ) | `[inline]`

| Set the frame stamp for the current frame.

void osgUtil::SceneView::setFusionDistance | ( | FusionDistanceMode | mode,
|  | float | value = `1.0f`
| ) | `[inline]`

| Set the FusionDistanceMode and Value. Note, is used only when working in stereo.

void osgUtil::SceneView::setGlobalStateSet | ( | osg::StateSet * | state | ) | `[inline]`

void osgUtil::SceneView::setInitVisitor | ( | osg::NodeVisitor * | av | ) | `[inline]`

void osgUtil::SceneView::setLight | ( | osg::Light * | light | ) | `[inline]`

void osgUtil::SceneView::setLightingMode | ( | LightingMode | mode | ) | `[inline]`

void osgUtil::SceneView::setLocalStateSet | ( | osg::StateSet * | state | ) | `[inline]`

void osgUtil::SceneView::setPrioritizeTextures | ( | bool | pt | ) | `[inline]`

| Set whether the draw method should call renderer->prioritizeTexture.

void osgUtil::SceneView::setProjectionMatrix | ( | const osg::Matrixd & | matrix | ) | `[inline]`

| Set the projection matrix. Can be thought of as setting the lens of a camera.

void osgUtil::SceneView::setProjectionMatrix | ( | const osg::Matrixf & | matrix | ) | `[inline]`

| Set the projection matrix. Can be thought of as setting the lens of a camera.

void SceneView::setProjectionMatrixAsFrustum | ( | double | left,
|  | double | right,
|  | double | bottom,
|  | double | top,
|  | double | zNear,
|  | double | zFar
| ) |

| Set to a perspective projection. See OpenGL glFrustum documentation for further details.

void SceneView::setProjectionMatrixAsOrtho | ( | double | left,
|  | double | right,
|  | double | bottom,
|  | double | top,
|  | double | zNear,
|  | double | zFar
| ) |

| Set to an orthographic projection. See OpenGL glOrtho for documentation further details.

void SceneView::setProjectionMatrixAsOrtho2D | ( | double | left,
|  | double | right,
|  | double | bottom,
|  | double | top
| ) |

| Set to a 2D orthographic projection. See OpenGL glOrtho2D documentation for further details.

void SceneView::setProjectionMatrixAsPerspective | ( | double | fovy,
|  | double | aspectRatio,
|  | double | zNear,
|  | double | zFar
| ) |

| Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details. Aspect ratio is defined as width/height.

void osgUtil::SceneView::setRenderGraph | ( | osgUtil::RenderGraph * | rg | ) | `[inline]`

void osgUtil::SceneView::setRenderGraphLeft | ( | osgUtil::RenderGraph * | rg | ) | `[inline]`

void osgUtil::SceneView::setRenderGraphRight | ( | osgUtil::RenderGraph * | rg | ) | `[inline]`

void osgUtil::SceneView::setRenderStage | ( | osgUtil::RenderStage * | rs | ) | `[inline]`

void osgUtil::SceneView::setRenderStageLeft | ( | osgUtil::RenderStage * | rs | ) | `[inline]`

void osgUtil::SceneView::setRenderStageRight | ( | osgUtil::RenderStage * | rs | ) | `[inline]`

void osgUtil::SceneView::setSceneData | ( | osg::Node * | node | ) | `[inline]`

| Set the data to view. The data will typically be an osg::Scene but can be any osg::Node type.

void osgUtil::SceneView::setState | ( | osg::State * | state | ) | `[inline]`

void osgUtil::SceneView::setUpdateVisitor | ( | osg::NodeVisitor * | av | ) | `[inline]`

void osgUtil::SceneView::setViewMatrix | ( | const osg::Matrixd & | matrix | ) | `[inline]`

| Set the view matrix. Can be thought of as setting the position of the world relative to the camera in camera coordinates.

void osgUtil::SceneView::setViewMatrix | ( | const osg::Matrixf & | matrix | ) | `[inline]`

| Set the view matrix. Can be thought of as setting the position of the world relative to the camera in camera coordinates.

void SceneView::setViewMatrixAsLookAt | ( | const osg::Vec3 & | eye,
|  | const osg::Vec3 & | center,
|  | const osg::Vec3 & | up
| ) |

| Set to the position and orientation of view matrix, using the same convention as gluLookAt.

void osgUtil::SceneView::setViewport | ( | int | x,
|  | int | y,
|  | int | width,
|  | int | height
| ) | `[inline]`

| Set the viewport of the scene view to specified dimensions.

void osgUtil::SceneView::setViewport | ( | osg::Viewport * | viewport | ) | `[inline]`

| Set the viewport of the scene view to use specified osg::Viewport.

void SceneView::update | ( |  | ) | `[virtual]`

| Do app traversal of attached scene graph using App NodeVisitor.

## Member Data Documentation

osg::Vec4 osgUtil::SceneView::_clearColor `[protected]`

osg::ref_ptr<osg::CollectOccludersVisitor> osgUtil::SceneView::_collectOccludersVisistor `[protected]`

osg::ref_ptr<ComputeStereoMatricesCallback> osgUtil::SceneView::_computeStereoMatricesCallback `[protected]`

osg::ref_ptr<osgUtil::CullVisitor> osgUtil::SceneView::_cullVisitor `[protected]`

osg::ref_ptr<osgUtil::CullVisitor> osgUtil::SceneView::_cullVisitorLeft `[protected]`

osg::ref_ptr<osgUtil::CullVisitor> osgUtil::SceneView::_cullVisitorRight `[protected]`

osg::ref_ptr<osg::DisplaySettings> osgUtil::SceneView::_displaySettings `[protected]`

GLenum osgUtil::SceneView::_drawBufferValue `[protected]`

osg::ref_ptr<osg::FrameStamp> osgUtil::SceneView::_frameStamp `[protected]`

FusionDistanceMode osgUtil::SceneView::_fusionDistanceMode `[protected]`

float osgUtil::SceneView::_fusionDistanceValue `[protected]`

osg::ref_ptr<osg::StateSet> osgUtil::SceneView::_globalStateSet `[protected]`

bool osgUtil::SceneView::_initCalled `[protected]`

osg::ref_ptr<osg::NodeVisitor> osgUtil::SceneView::_initVisitor `[protected]`

osg::ref_ptr<osg::Light> osgUtil::SceneView::_light `[protected]`

LightingMode osgUtil::SceneView::_lightingMode `[protected]`

osg::ref_ptr<osg::StateSet> osgUtil::SceneView::_localStateSet `[protected]`

bool osgUtil::SceneView::_prioritizeTextures `[protected]`

osg::Matrixd osgUtil::SceneView::_projectionMatrix `[protected]`

osg::ref_ptr<osgUtil::RenderGraph> osgUtil::SceneView::_rendergraph `[protected]`

osg::ref_ptr<osgUtil::RenderGraph> osgUtil::SceneView::_rendergraphLeft `[protected]`

osg::ref_ptr<osgUtil::RenderGraph> osgUtil::SceneView::_rendergraphRight `[protected]`

osg::ref_ptr<osgUtil::RenderStage> osgUtil::SceneView::_renderStage `[protected]`

osg::ref_ptr<osgUtil::RenderStage> osgUtil::SceneView::_renderStageLeft `[protected]`

osg::ref_ptr<osgUtil::RenderStage> osgUtil::SceneView::_renderStageRight `[protected]`

bool osgUtil::SceneView::_requiresFlush `[protected]`

osg::ref_ptr<osg::Node> osgUtil::SceneView::_sceneData `[protected]`

osg::ref_ptr<osg::State> osgUtil::SceneView::_state `[protected]`

osg::ref_ptr<osg::NodeVisitor> osgUtil::SceneView::_updateVisitor `[protected]`

osg::Matrixd osgUtil::SceneView::_viewMatrix `[protected]`

osg::ref_ptr<osg::Viewport> osgUtil::SceneView::_viewport `[protected]`

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

- SceneView
- SceneView.cpp