osgViewer::CompositeViewer Class Reference

CompsiteViewer holds a or more views to a one more scenes. More...

Inheritance diagram for osgViewer::CompositeViewer:

Inheritance graph
[legend]
List of all members.

Public Types

enum  ThreadingModel { SingleThreaded, ThreadPerContext, ThreadPerCamera }
enum  BarrierPosition { BeforeSwapBuffers, AfterSwapBuffers }
typedef std::vector< osg::GraphicsContext * > Contexts
typedef std::vector< osgViewer::GraphicsWindow * > Windows
typedef std::vector< osgViewer::Scene * > Scenes

Public Member Functions

 CompositeViewer ()
 CompositeViewer (osg::ArgumentParser &arguments)
virtual ~CompositeViewer ()
void addView (osgViewer::View *view)
void removeView (osgViewer::View *view)
osgViewer::ViewgetView (unsigned i)
const osgViewer::ViewgetView (unsigned i) const
unsigned int getNumViews () const
bool isRealized () const
 Get whether at least of one of this viewers windows are realized.
void realize ()
 set up windows and associated threads.
void setDone (bool done)
bool done () const
void setStartTick (osg::Timer_t tick)
osg::Timer_t getStartTick () const
void setReferenceTime (double time=0.0)
osg::FrameStampgetFrameStamp ()
const osg::FrameStampgetFrameStamp () const
void setThreadingModel (ThreadingModel threadingModel)
 Set the threading model the rendering traversals will use.
ThreadingModel getThreadingModel () const
 Get the threading model the rendering traversals will use.
void setEndBarrierPosition (BarrierPosition bp)
 Set the position of the end barrier.
BarrierPosition getEndBarrierPosition () const
 Get the end barrier position.
void setEventQueue (osgGA::EventQueue *eventQueue)
osgGA::EventQueuegetEventQueue ()
const osgGA::EventQueuegetEventQueue () const
void setKeyEventSetsDone (int key)
 Set the key event that the viewer checks on each frame to see if the viewer's done flag should be set to signal end of viewers main loop.
int getKeyEventSetsDone () const
 get the key event that the viewer checks on each frame to see if the viewer's done flag.
void setQuitEventSetsDone (bool flag)
 if the flag is true, the viewer set its done flag when a QUIT_APPLICATION is received, false disables this feature
bool getQuitEventSetsDone () const
 
Returns:
true if the viewer respond to the QUIT_APPLICATION-event

virtual int run ()
 Execute a main frame loop.
virtual void frame (double simulationTime=USE_REFERENCE_TIME)
 Render a complete new frame.
virtual void advance (double simulationTime=USE_REFERENCE_TIME)
virtual void eventTraversal ()
virtual void updateTraversal ()
virtual void renderingTraversals ()
void setCameraWithFocus (osg::Camera *camera)
osg::CameragetCameraWithFocus ()
const osg::CameragetCameraWithFocus () const
osgViewer::ViewgetViewWithFocus ()
const osgViewer::ViewgetViewWithFocus () const
void getContexts (Contexts &contexts, bool onlyValid=true)
void getWindows (Windows &windows, bool onlyValid=true)
void getScenes (Scenes &scenes, bool onlyValid=true)
void setRealizeOperation (osg::Operation *op)
 Set the graphics operation to call on realization of the viewers graphics windows.
osg::OperationgetRealizeOperation ()
 Get the graphics operation to call on realization of the viewers graphics windows.
bool areThreadsRunning () const
 Return true if viewer threads are running.
void stopThreading ()
 Stop any threads begin run by viewer.
void startThreading ()
 Start any threads required by the viewer, as per viewers ThreadingModel.
void setUpRenderingSupport ()
 Set up the Operations to render the various viewer cameras on the viewers graphics windows.

Protected Types

typedef std::vector< osg::ref_ptr<
osgViewer::View > > 
Views
typedef std::map< osg::ref_ptr<
osg::Camera >, osg::ref_ptr<
osgUtil::SceneView > > 
CameraSceneViewMap

Protected Member Functions

void constructorInit ()
void init ()
void checkWindowStatus ()
unsigned int computeNumberOfThreadsIncludingMainRequired ()

Protected Attributes

Views _views
bool _firstFrame
bool _done
int _keyEventSetsDone
bool _quitEventSetsDone
ThreadingModel _threadingModel
bool _threadsRunning
BarrierPosition _endBarrierPosition
osg::ref_ptr< osg::BarrierOperation_startRenderingBarrier
osg::ref_ptr< osg::BarrierOperation_endRenderingDispatchBarrier
unsigned int _numThreadsOnBarrier
CameraSceneViewMap _cameraSceneViewMap
osg::Timer_t _startTick
osg::ref_ptr< osg::FrameStamp_frameStamp
osg::observer_ptr< osg::Camera_cameraWithFocus
osg::observer_ptr< osgViewer::View_viewWithFocus
osg::ref_ptr< osgGA::EventQueue_eventQueue
osg::ref_ptr< osgGA::EventVisitor_eventVisitor
osg::ref_ptr< osg::Operation_realizeOperation

Detailed Description

CompsiteViewer holds a or more views to a one more scenes.


Member Typedef Documentation

typedef std::vector<osg::GraphicsContext*> osgViewer::CompositeViewer::Contexts

typedef std::vector<osgViewer::GraphicsWindow*> osgViewer::CompositeViewer::Windows

typedef std::vector<osgViewer::Scene*> osgViewer::CompositeViewer::Scenes

typedef std::vector< osg::ref_ptr<osgViewer::View> > osgViewer::CompositeViewer::Views [protected]

typedef std::map<osg::ref_ptr<osg::Camera>, osg::ref_ptr<osgUtil::SceneView> > osgViewer::CompositeViewer::CameraSceneViewMap [protected]


Member Enumeration Documentation

enum osgViewer::CompositeViewer::ThreadingModel

Enumerator:
SingleThreaded 
ThreadPerContext 
ThreadPerCamera 

enum osgViewer::CompositeViewer::BarrierPosition

Enumerator:
BeforeSwapBuffers 
AfterSwapBuffers 


Constructor & Destructor Documentation

osgViewer::CompositeViewer::CompositeViewer (  ) 

osgViewer::CompositeViewer::CompositeViewer ( osg::ArgumentParser arguments  ) 

virtual osgViewer::CompositeViewer::~CompositeViewer (  )  [virtual]


Member Function Documentation

void osgViewer::CompositeViewer::addView ( osgViewer::View view  ) 

void osgViewer::CompositeViewer::removeView ( osgViewer::View view  ) 

osgViewer::View* osgViewer::CompositeViewer::getView ( unsigned  i  )  [inline]

const osgViewer::View* osgViewer::CompositeViewer::getView ( unsigned  i  )  const [inline]

unsigned int osgViewer::CompositeViewer::getNumViews (  )  const [inline]

bool osgViewer::CompositeViewer::isRealized (  )  const

Get whether at least of one of this viewers windows are realized.

void osgViewer::CompositeViewer::realize (  ) 

set up windows and associated threads.

void osgViewer::CompositeViewer::setDone ( bool  done  )  [inline]

bool osgViewer::CompositeViewer::done (  )  const [inline]

void osgViewer::CompositeViewer::setStartTick ( osg::Timer_t  tick  ) 

osg::Timer_t osgViewer::CompositeViewer::getStartTick (  )  const [inline]

void osgViewer::CompositeViewer::setReferenceTime ( double  time = 0.0  ) 

osg::FrameStamp* osgViewer::CompositeViewer::getFrameStamp (  )  [inline]

const osg::FrameStamp* osgViewer::CompositeViewer::getFrameStamp (  )  const [inline]

void osgViewer::CompositeViewer::setThreadingModel ( ThreadingModel  threadingModel  ) 

Set the threading model the rendering traversals will use.

ThreadingModel osgViewer::CompositeViewer::getThreadingModel (  )  const [inline]

Get the threading model the rendering traversals will use.

void osgViewer::CompositeViewer::setEndBarrierPosition ( BarrierPosition  bp  ) 

Set the position of the end barrier.

AfterSwapBuffers will may result is slightly higher framerates, by may lead to inconcistent swapping between different windows. BeforeSwapBuffers may lead to slightly lower framerate, but improve consistency in timing of swap buffers, especially important if you are likely to consistently break frame.

BarrierPosition osgViewer::CompositeViewer::getEndBarrierPosition (  )  const [inline]

Get the end barrier position.

void osgViewer::CompositeViewer::setEventQueue ( osgGA::EventQueue eventQueue  )  [inline]

osgGA::EventQueue* osgViewer::CompositeViewer::getEventQueue (  )  [inline]

const osgGA::EventQueue* osgViewer::CompositeViewer::getEventQueue (  )  const [inline]

void osgViewer::CompositeViewer::setKeyEventSetsDone ( int  key  )  [inline]

Set the key event that the viewer checks on each frame to see if the viewer's done flag should be set to signal end of viewers main loop.

Default value is Escape (osgGA::GUIEVentAdapter::KEY_Escape). Setting to 0 switches off the feature.

int osgViewer::CompositeViewer::getKeyEventSetsDone (  )  const [inline]

get the key event that the viewer checks on each frame to see if the viewer's done flag.

void osgViewer::CompositeViewer::setQuitEventSetsDone ( bool  flag  )  [inline]

if the flag is true, the viewer set its done flag when a QUIT_APPLICATION is received, false disables this feature

bool osgViewer::CompositeViewer::getQuitEventSetsDone (  )  const [inline]

Returns:
true if the viewer respond to the QUIT_APPLICATION-event

virtual int osgViewer::CompositeViewer::run (  )  [virtual]

Execute a main frame loop.

Equivialant to while (!viewer.done()) viewer.frame(); Also calls realize() if the viewer is not already realized, and installs trackball manipulator if one is not already assigned.

virtual void osgViewer::CompositeViewer::frame ( double  simulationTime = USE_REFERENCE_TIME  )  [virtual]

Render a complete new frame.

Calls advance(), eventTraversal(), updateTraversal(), renderingTraversals().

virtual void osgViewer::CompositeViewer::advance ( double  simulationTime = USE_REFERENCE_TIME  )  [virtual]

virtual void osgViewer::CompositeViewer::eventTraversal (  )  [virtual]

virtual void osgViewer::CompositeViewer::updateTraversal (  )  [virtual]

virtual void osgViewer::CompositeViewer::renderingTraversals (  )  [virtual]

void osgViewer::CompositeViewer::setCameraWithFocus ( osg::Camera camera  ) 

osg::Camera* osgViewer::CompositeViewer::getCameraWithFocus (  )  [inline]

const osg::Camera* osgViewer::CompositeViewer::getCameraWithFocus (  )  const [inline]

osgViewer::View* osgViewer::CompositeViewer::getViewWithFocus (  )  [inline]

const osgViewer::View* osgViewer::CompositeViewer::getViewWithFocus (  )  const [inline]

void osgViewer::CompositeViewer::getContexts ( Contexts contexts,
bool  onlyValid = true 
)

void osgViewer::CompositeViewer::getWindows ( Windows windows,
bool  onlyValid = true 
)

void osgViewer::CompositeViewer::getScenes ( Scenes scenes,
bool  onlyValid = true 
)

void osgViewer::CompositeViewer::setRealizeOperation ( osg::Operation op  )  [inline]

Set the graphics operation to call on realization of the viewers graphics windows.

osg::Operation* osgViewer::CompositeViewer::getRealizeOperation (  )  [inline]

Get the graphics operation to call on realization of the viewers graphics windows.

bool osgViewer::CompositeViewer::areThreadsRunning (  )  const [inline]

Return true if viewer threads are running.

void osgViewer::CompositeViewer::stopThreading (  ) 

Stop any threads begin run by viewer.

void osgViewer::CompositeViewer::startThreading (  ) 

Start any threads required by the viewer, as per viewers ThreadingModel.

void osgViewer::CompositeViewer::setUpRenderingSupport (  ) 

Set up the Operations to render the various viewer cameras on the viewers graphics windows.

void osgViewer::CompositeViewer::constructorInit (  )  [protected]

void osgViewer::CompositeViewer::init (  )  [protected]

void osgViewer::CompositeViewer::checkWindowStatus (  )  [protected]

unsigned int osgViewer::CompositeViewer::computeNumberOfThreadsIncludingMainRequired (  )  [protected]


Member Data Documentation

Views osgViewer::CompositeViewer::_views [protected]

bool osgViewer::CompositeViewer::_firstFrame [protected]

bool osgViewer::CompositeViewer::_done [protected]

int osgViewer::CompositeViewer::_keyEventSetsDone [protected]

bool osgViewer::CompositeViewer::_quitEventSetsDone [protected]

ThreadingModel osgViewer::CompositeViewer::_threadingModel [protected]

bool osgViewer::CompositeViewer::_threadsRunning [protected]

BarrierPosition osgViewer::CompositeViewer::_endBarrierPosition [protected]

osg::ref_ptr<osg::BarrierOperation> osgViewer::CompositeViewer::_startRenderingBarrier [protected]

osg::ref_ptr<osg::BarrierOperation> osgViewer::CompositeViewer::_endRenderingDispatchBarrier [protected]

unsigned int osgViewer::CompositeViewer::_numThreadsOnBarrier [protected]

CameraSceneViewMap osgViewer::CompositeViewer::_cameraSceneViewMap [protected]

osg::Timer_t osgViewer::CompositeViewer::_startTick [protected]

osg::ref_ptr<osg::FrameStamp> osgViewer::CompositeViewer::_frameStamp [protected]

osg::observer_ptr<osg::Camera> osgViewer::CompositeViewer::_cameraWithFocus [protected]

osg::observer_ptr<osgViewer::View> osgViewer::CompositeViewer::_viewWithFocus [protected]

osg::ref_ptr<osgGA::EventQueue> osgViewer::CompositeViewer::_eventQueue [protected]

osg::ref_ptr<osgGA::EventVisitor> osgViewer::CompositeViewer::_eventVisitor [protected]

osg::ref_ptr<osg::Operation> osgViewer::CompositeViewer::_realizeOperation [protected]


The documentation for this class was generated from the following file:
Generated at Fri Nov 2 23:36:27 2007 for the OpenSceneGraph by doxygen 1.5.2.