openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
osgViewer::View Class Reference
Inheritance diagram for osgViewer::View:
osg::View osgGA::GUIActionAdapter osg::Object osg::Referenced osgViewer::Viewer

Public Types

typedef std::list
< osg::ref_ptr
< osgGA::GUIEventHandler > > 
EventHandlers
- Public Types inherited from osg::View
enum  LightingMode { NO_LIGHT, HEADLIGHT, SKY_LIGHT }
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC, STATIC, UNSPECIFIED }

Public Member Functions

 View ()
 View (const osgViewer::View &view, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgViewer, View)
virtual osg::ViewasView ()
ViewerBasegetViewerBase ()
virtual void take (osg::View &rhs)
virtual void setStartTick (osg::Timer_t tick)
osg::Timer_t getStartTick () const
ScenegetScene ()
const ScenegetScene () const
virtual void setSceneData (osg::Node *node)
osg::NodegetSceneData ()
const osg::NodegetSceneData () const
void setDatabasePager (osgDB::DatabasePager *dp)
osgDB::DatabasePagergetDatabasePager ()
const osgDB::DatabasePagergetDatabasePager () const
void setImagePager (osgDB::ImagePager *ip)
osgDB::ImagePagergetImagePager ()
const osgDB::ImagePagergetImagePager () const
void setEventQueue (osgGA::EventQueue *eventQueue)
osgGA::EventQueuegetEventQueue ()
const osgGA::EventQueuegetEventQueue () const
void setCameraManipulator (osgGA::CameraManipulator *manipulator, bool resetPosition=true)
osgGA::CameraManipulatorgetCameraManipulator ()
const osgGA::CameraManipulatorgetCameraManipulator () const
void home ()
void addEventHandler (osgGA::GUIEventHandler *eventHandler)
void removeEventHandler (osgGA::GUIEventHandler *eventHandler)
EventHandlersgetEventHandlers ()
const EventHandlersgetEventHandlers () const
void setCoordinateSystemNodePath (const osg::NodePath &nodePath)
osg::NodePath getCoordinateSystemNodePath () const
void computeActiveCoordinateSystemNodePath ()
void setDisplaySettings (osg::DisplaySettings *ds)
osg::DisplaySettingsgetDisplaySettings ()
const osg::DisplaySettingsgetDisplaySettings () const
void setFusionDistance (osgUtil::SceneView::FusionDistanceMode mode, float value=1.0f)
osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode () const
float getFusionDistanceValue () const
void setUpViewAcrossAllScreens ()
void setUpViewInWindow (int x, int y, int width, int height, unsigned int screenNum=0)
void setUpViewOnSingleScreen (unsigned int screenNum=0)
void setUpViewFor3DSphericalDisplay (double radius=1.0, double collar=0.45, unsigned int screenNum=0, osg::Image *intensityMap=0, const osg::Matrixd &projectorMatrix=osg::Matrixd())
void setUpViewForPanoramicSphericalDisplay (double radius=1.0, double collar=0.45, unsigned int screenNum=0, osg::Image *intensityMap=0, const osg::Matrixd &projectorMatrix=osg::Matrixd())
void setUpViewForWoWVxDisplay (unsigned int screenNum, unsigned char wow_content, unsigned char wow_factor, unsigned char wow_offset, float wow_disparity_Zd, float wow_disparity_vz, float wow_disparity_M, float wow_disparity_C)
bool setUpDepthPartitionForCamera (osg::Camera *cameraToPartition, DepthPartitionSettings *dps=0)
bool setUpDepthPartition (DepthPartitionSettings *dsp=0)
bool containsCamera (const osg::Camera *camera) const
const osg::CameragetCameraContainingPosition (float x, float y, float &local_x, float &local_y) const
bool computeIntersections (float x, float y, osgUtil::LineSegmentIntersector::Intersections &intersections, osg::Node::NodeMask traversalMask=0xffffffff)
bool computeIntersections (float x, float y, const osg::NodePath &nodePath, osgUtil::LineSegmentIntersector::Intersections &intersections, osg::Node::NodeMask traversalMask=0xffffffff)
virtual void requestRedraw ()
virtual void requestContinuousUpdate (bool needed=true)
virtual void requestWarpPointer (float x, float y)
void assignSceneDataToCameras ()
void init ()
- Public Member Functions inherited from osg::View
 View (const osg::View &view, const osg::CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_Object (osg, View)
void setStats (osg::Stats *stats)
osg::StatsgetStats ()
const osg::StatsgetStats () const
void setLightingMode (LightingMode lightingMode)
LightingMode getLightingMode () const
void setLight (osg::Light *light)
osg::LightgetLight ()
const osg::LightgetLight () const
void setCamera (osg::Camera *camera)
osg::CameragetCamera ()
const osg::CameragetCamera () const
void setFrameStamp (osg::FrameStamp *fs)
osg::FrameStampgetFrameStamp ()
const osg::FrameStampgetFrameStamp () const
bool addSlave (osg::Camera *camera, bool useMastersSceneData=true)
bool addSlave (osg::Camera *camera, const osg::Matrix &projectionOffset, const osg::Matrix &viewOffset, bool useMastersSceneData=true)
bool removeSlave (unsigned int pos)
unsigned int getNumSlaves () const
SlavegetSlave (unsigned int pos)
const SlavegetSlave (unsigned int pos) const
unsigned int findSlaveIndexForCamera (osg::Camera *camera) const
SlavefindSlaveForCamera (osg::Camera *camera)
void updateSlaves ()
- Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual ObjectcloneType () const =0
virtual Objectclone (const CopyOp &) const =0
virtual bool isSameKindAs (const Object *) const
virtual const char * libraryName () const =0
virtual const char * className () const =0
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
virtual void computeDataVariance ()
void setUserDataContainer (osg::UserDataContainer *udc)
osg::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
virtual ReferencedgetUserData ()
virtual const ReferencedgetUserData () const
template<typename T >
bool getUserValue (const std::string &name, T &value) const
template<typename T >
void setUserValue (const std::string &name, const T &value)
virtual void resizeGLObjectBuffers (unsigned int)
virtual void releaseGLObjects (osg::State *=0) const
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const
- Public Member Functions inherited from osgGA::GUIActionAdapter
virtual ~GUIActionAdapter ()

Protected Member Functions

virtual ~View ()
virtual osg::GraphicsOperationcreateRenderer (osg::Camera *camera)

Protected Attributes

osg::observer_ptr< ViewerBase_viewerBase
osg::Timer_t _startTick
osg::ref_ptr< osgViewer::Scene_scene
osg::ref_ptr< osgGA::EventQueue_eventQueue
osg::ref_ptr
< osgGA::CameraManipulator
_cameraManipulator
EventHandlers _eventHandlers
osg::ObserverNodePath _coordinateSystemNodePath
osg::ref_ptr
< osg::DisplaySettings
_displaySettings
osgUtil::SceneView::FusionDistanceMode _fusionDistanceMode
float _fusionDistanceValue
- Protected Attributes inherited from osg::View
osg::ref_ptr< osg::Stats_stats
LightingMode _lightingMode
osg::ref_ptr< osg::Light_light
osg::ref_ptr< osg::Camera_camera
Slaves _slaves
osg::ref_ptr< osg::FrameStamp_frameStamp
- Protected Attributes inherited from osg::Object
std::string _name
DataVariance _dataVariance
osg::UserDataContainer_userDataContainer
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Friends

class CompositeViewer

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
static bool getThreadSafeReferenceCounting ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()
- Protected Types inherited from osg::View
typedef std::vector< SlaveSlaves

Detailed Description

View holds a single view on a scene, this view may be composed of one or more slave cameras.

Member Typedef Documentation

Constructor & Destructor Documentation

osgViewer::View::View ( )

Reimplemented from osg::View.

osgViewer::View::View ( const osgViewer::View view,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)
virtual osgViewer::View::~View ( )
protectedvirtual

Reimplemented from osg::View.

Member Function Documentation

void osgViewer::View::addEventHandler ( osgGA::GUIEventHandler eventHandler)

Add an EventHandler that adds handling of events to the View.

void osgViewer::View::assignSceneDataToCameras ( )
virtual osg::View* osgViewer::View::asView ( )
inlinevirtual

Provide a mechanism for getting the osg::View associated from the GUIActionAdapter. One would use this to case view to osgViewer::View(er) if supported by the subclass.

Reimplemented from osgGA::GUIActionAdapter.

void osgViewer::View::computeActiveCoordinateSystemNodePath ( )

Compute the NodePath to any active CoordinateSystemNode present in the Scene.

bool osgViewer::View::computeIntersections ( float  x,
float  y,
osgUtil::LineSegmentIntersector::Intersections intersections,
osg::Node::NodeMask  traversalMask = 0xffffffff 
)

Compute intersections between a ray through the specified master cameras window/eye coords and a specified node. Note, when a master cameras has slaves and no viewport itself its coordinate frame will be in clip space i.e. -1,-1 to 1,1, while if its has a viewport the coordintates will be relative to its viewport dimensions. Mouse events handled by the view will automatically be attached into the master camera window/clip coords so can be passed directly on to the computeIntersections method.

bool osgViewer::View::computeIntersections ( float  x,
float  y,
const osg::NodePath nodePath,
osgUtil::LineSegmentIntersector::Intersections intersections,
osg::Node::NodeMask  traversalMask = 0xffffffff 
)

Compute intersections between a ray through the specified master cameras window/eye coords and a specified nodePath's subgraph.

bool osgViewer::View::containsCamera ( const osg::Camera camera) const

Return true if this view contains a specified camera.

virtual osg::GraphicsOperation* osgViewer::View::createRenderer ( osg::Camera camera)
protectedvirtual

Reimplemented from osg::View.

const osg::Camera* osgViewer::View::getCameraContainingPosition ( float  x,
float  y,
float &  local_x,
float &  local_y 
) const

Get the camera which contains the pointer position x,y specified master cameras window/eye coords. Also passes back the local window coords for the graphics context associated with the camera passed back.

osgGA::CameraManipulator* osgViewer::View::getCameraManipulator ( )
inline

Get the View's CameraManipulator.

const osgGA::CameraManipulator* osgViewer::View::getCameraManipulator ( ) const
inline

Get the const View's CameraManipulator.

osg::NodePath osgViewer::View::getCoordinateSystemNodePath ( ) const

Get the NodePath to any active CoordinateSystemNode present in the Scene.

osgDB::DatabasePager* osgViewer::View::getDatabasePager ( )

Get the View's database pager.

const osgDB::DatabasePager* osgViewer::View::getDatabasePager ( ) const

Get the const View's database pager.

osg::DisplaySettings* osgViewer::View::getDisplaySettings ( )
inline

Set the DisplaySettings object associated with this view.

const osg::DisplaySettings* osgViewer::View::getDisplaySettings ( ) const
inline

Set the DisplaySettings object associated with this view.

EventHandlers& osgViewer::View::getEventHandlers ( )
inline

Get the View's list of EventHandlers.

const EventHandlers& osgViewer::View::getEventHandlers ( ) const
inline

Get the const View's list of EventHandlers.

osgGA::EventQueue* osgViewer::View::getEventQueue ( )
inline
const osgGA::EventQueue* osgViewer::View::getEventQueue ( ) const
inline
osgUtil::SceneView::FusionDistanceMode osgViewer::View::getFusionDistanceMode ( ) const
inline

Get the FusionDistanceMode.

float osgViewer::View::getFusionDistanceValue ( ) const
inline

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

osgDB::ImagePager* osgViewer::View::getImagePager ( )

Get the View's image pager.

const osgDB::ImagePager* osgViewer::View::getImagePager ( ) const

Get the const View's image pager.

Scene* osgViewer::View::getScene ( )
inline
const Scene* osgViewer::View::getScene ( ) const
inline
osg::Node* osgViewer::View::getSceneData ( )
inline

Get the View's scene graph.

const osg::Node* osgViewer::View::getSceneData ( ) const
inline

Get the const View's scene graph.

osg::Timer_t osgViewer::View::getStartTick ( ) const
inline
ViewerBase* osgViewer::View::getViewerBase ( )
inline

Provide a mechanism for getting the viewer object from this osgViewer::View. In the case of a osgViewer::Viewer the ViewerBase will effectively point to this object as Viewer subclasses from View. In the case of a osgViewer::CompsoiteViewer the ViewerBase will point to the CompositeViewer that owns this View.

void osgViewer::View::home ( )

Set the view to the CameraManipulator's home position, if non is attached home() is does nothing. Note, to set the home position use getCamaraManipulator()->setHomePosition(...).

void osgViewer::View::init ( )
osgViewer::View::META_Object ( osgViewer  ,
View   
)
void osgViewer::View::removeEventHandler ( osgGA::GUIEventHandler eventHandler)

Remove an EventHandler from View.

virtual void osgViewer::View::requestContinuousUpdate ( bool  needed = true)
virtual

requestContinousUpdate(bool) is for en/disabling a throw or idle callback to be requested by a GUIEventHandler (typically a MatrixManipulator, though other GUIEventHandler's may also provide functionality). GUI toolkits can respond to this immediately by registering an idle/timed callback, or can delay setting the callback and update at their own leisure.

Implements osgGA::GUIActionAdapter.

virtual void osgViewer::View::requestRedraw ( )
virtual

requestRedraw() requests a single redraw.

Implements osgGA::GUIActionAdapter.

virtual void osgViewer::View::requestWarpPointer ( float  x,
float  y 
)
virtual

requestWarpPointer(int,int) is requesting a repositioning of the mouse pointer to a specified x,y location on the window. This is used by some camera manipulators to initialise the mouse pointer when mouse position relative to a controls neutral mouse position is required, i.e when mimicking a aircrafts joystick.

Implements osgGA::GUIActionAdapter.

void osgViewer::View::setCameraManipulator ( osgGA::CameraManipulator manipulator,
bool  resetPosition = true 
)

Set the CameraManipulator that moves the View's master Camera position in response to events. The parameter resetPosition determines whether manipulator is set to its home position.

void osgViewer::View::setCoordinateSystemNodePath ( const osg::NodePath nodePath)

Set the NodePath to any active CoordinateSystemNode present in the Scene. The CoordinateSystemNode path is used to help applications and CamaraManipualtors handle geocentric coordinates systems, such as known which way is the local up at any position on the a whole earth.

void osgViewer::View::setDatabasePager ( osgDB::DatabasePager dp)

Set the View's database pager.

void osgViewer::View::setDisplaySettings ( osg::DisplaySettings ds)
inline

Set the DisplaySettings object associated with this view.

void osgViewer::View::setEventQueue ( osgGA::EventQueue eventQueue)
inline
void osgViewer::View::setFusionDistance ( osgUtil::SceneView::FusionDistanceMode  mode,
float  value = 1.0f 
)
inline

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

void osgViewer::View::setImagePager ( osgDB::ImagePager ip)

Set the View's image pager.

virtual void osgViewer::View::setSceneData ( osg::Node node)
virtual

Set the scene graph that the View will use.

Reimplemented in osgViewer::Viewer.

virtual void osgViewer::View::setStartTick ( osg::Timer_t  tick)
virtual

Reimplemented in osgViewer::Viewer.

bool osgViewer::View::setUpDepthPartition ( DepthPartitionSettings dsp = 0)

Convenience method for setting up multiple slave cameras that depth partition each of the view's active cameras.

bool osgViewer::View::setUpDepthPartitionForCamera ( osg::Camera cameraToPartition,
DepthPartitionSettings dps = 0 
)

Convenience method for setting up multiple slave cameras that depth partition the specified camera.

void osgViewer::View::setUpViewAcrossAllScreens ( )

Convenience method for creating slave Cameras and associated GraphicsWindows across all screens.

void osgViewer::View::setUpViewFor3DSphericalDisplay ( double  radius = 1.0,
double  collar = 0.45,
unsigned int  screenNum = 0,
osg::Image intensityMap = 0,
const osg::Matrixd projectorMatrix = osg::Matrixd() 
)

Convenience method for spherical display using 6 slave cameras rendering the 6 sides of a cube map, and 7th camera doing distortion correction to present on a spherical display.

void osgViewer::View::setUpViewForPanoramicSphericalDisplay ( double  radius = 1.0,
double  collar = 0.45,
unsigned int  screenNum = 0,
osg::Image intensityMap = 0,
const osg::Matrixd projectorMatrix = osg::Matrixd() 
)

Convenience method for spherical display by rendering main scene to as panoramic 2:1 texture and then doing distortion correction to present onto a spherical display.

void osgViewer::View::setUpViewForWoWVxDisplay ( unsigned int  screenNum,
unsigned char  wow_content,
unsigned char  wow_factor,
unsigned char  wow_offset,
float  wow_disparity_Zd,
float  wow_disparity_vz,
float  wow_disparity_M,
float  wow_disparity_C 
)

Convenience method for autostereoscopic Philips WoWvx display.

void osgViewer::View::setUpViewInWindow ( int  x,
int  y,
int  width,
int  height,
unsigned int  screenNum = 0 
)

Convenience method for a single camera on a single window.

void osgViewer::View::setUpViewOnSingleScreen ( unsigned int  screenNum = 0)

Convenience method for a single camera associated with a single full screen GraphicsWindow.

virtual void osgViewer::View::take ( osg::View rhs)
virtual

Take all the settings, Camera and Slaves from the passed in view, leaving it empty.

Reimplemented from osg::View.

Reimplemented in osgViewer::Viewer.

Friends And Related Function Documentation

friend class CompositeViewer
friend

Member Data Documentation

osg::ref_ptr<osgGA::CameraManipulator> osgViewer::View::_cameraManipulator
protected
osg::ObserverNodePath osgViewer::View::_coordinateSystemNodePath
protected
osg::ref_ptr<osg::DisplaySettings> osgViewer::View::_displaySettings
protected
EventHandlers osgViewer::View::_eventHandlers
protected
osg::ref_ptr<osgGA::EventQueue> osgViewer::View::_eventQueue
protected
osgUtil::SceneView::FusionDistanceMode osgViewer::View::_fusionDistanceMode
protected
float osgViewer::View::_fusionDistanceValue
protected
osg::ref_ptr<osgViewer::Scene> osgViewer::View::_scene
protected
osg::Timer_t osgViewer::View::_startTick
protected
osg::observer_ptr<ViewerBase> osgViewer::View::_viewerBase
protected

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