osgViewer::ViewerBase Class Reference

ViewerBase is the view base class that is inhertied by both Viewer and CompositeViewer. More...

Inheritance diagram for osgViewer::ViewerBase:

Inheritance graph
[legend]

List of all members.

Public Types

enum  ThreadingModel {
  SingleThreaded, CullDrawThreadPerContext, ThreadPerContext = CullDrawThreadPerContext, DrawThreadPerContext,
  CullThreadPerCameraDrawThreadPerContext, ThreadPerCamera = CullThreadPerCameraDrawThreadPerContext, AutomaticSelection
}
enum  BarrierPosition { BeforeSwapBuffers, AfterSwapBuffers }
typedef std::vector
< osg::Camera * > 
Cameras
typedef std::vector
< osg::GraphicsContext * > 
Contexts
typedef std::vector
< osgViewer::GraphicsWindow * > 
Windows
typedef std::vector
< OpenThreads::Thread * > 
Threads
typedef std::vector
< osg::OperationThread * > 
OperationThreads
typedef std::vector
< osgViewer::Scene * > 
Scenes
typedef std::vector
< osgViewer::View * > 
Views

Public Member Functions

 ViewerBase ()
 ViewerBase (const ViewerBase &vb)
void setStats (osg::Stats *stats)
 Set the Stats object used for collect various frame related timing and scene graph stats.
osg::StatsgetStats ()
 Get the Viewers Stats object.
const osg::StatsgetStats () const
 Get the Viewers Stats object.
virtual bool readConfiguration (const std::string &filename)=0
 read the viewer configuration from a configuration file.
virtual bool isRealized () const =0
 Get whether at least of one of this viewers windows are realized.
virtual void realize ()=0
 set up windows and associated threads.
virtual 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.
virtual ThreadingModel suggestBestThreadingModel ()
 Let the viewer suggest the best threading model for the viewers camera/window setup and the hardware available.
virtual void setUpThreading ()
 Set up the threading and processor affinity as per the viewers threading model.
bool areThreadsRunning () const
 Return true if viewer threads are running.
virtual void stopThreading ()
 Stop any threads begin run by viewer.
virtual void startThreading ()
 Start any threads required by the viewer.
void setEndBarrierPosition (BarrierPosition bp)
 Set the position of the end barrier.
BarrierPosition getEndBarrierPosition () const
 Get the end barrier position.
void setDone (bool done)
 Set the done flag to singnal the viewer's work is done and should exit the frame loop.
bool done () const
 Reurn true if viewer's work is done and should exit the frame loop.
void setEventVisitor (osgGA::EventVisitor *eventVisitor)
 Set the EventVisitor.
osgGA::EventVisitorgetEventVisitor ()
 Get the EventVisitor.
const
osgGA::EventVisitor
getEventVisitor () const
 Get the const EventVisitor.
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

void setUpdateVisitor (osgUtil::UpdateVisitor *updateVisitor)
 Set the UpdateVisitor.
osgUtil::UpdateVisitorgetUpdateVisitor ()
 Get the UpdateVisitor.
const
osgUtil::UpdateVisitor
getUpdateVisitor () const
 Get the const UpdateVisitor.
void setUpdateOperations (osg::OperationQueue *operations)
 Set the Update OperationQueue.
osg::OperationQueuegetUpdateOperations ()
 Get the Update OperationQueue.
const
osg::OperationQueue
getUpdateOperations () const
 Get the const Update OperationQueue.
void addUpdateOperation (osg::Operation *operation)
 Add an update operation.
void removeUpdateOperation (osg::Operation *operation)
 Remove an update operation.
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.
void checkWindowStatus ()
 Check to see if windows are still open, if not set viewer done to true.
virtual int run ()=0
 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)=0
virtual void eventTraversal ()=0
virtual void updateTraversal ()=0
virtual void renderingTraversals ()
virtual void getCameras (Cameras &cameras, bool onlyActive=true)=0
virtual void getContexts (Contexts &contexts, bool onlyValid=true)=0
virtual void getWindows (Windows &windows, bool onlyValid=true)=0
virtual void getAllThreads (Threads &threads, bool onlyActive=true)=0
virtual void getOperationThreads (OperationThreads &threads, bool onlyActive=true)=0
virtual void getScenes (Scenes &scenes, bool onlyValid=true)=0
virtual void getViews (Views &views, bool onlyValid=true)=0
virtual double elapsedTime ()=0
virtual osg::FrameStampgetViewerFrameStamp ()=0
virtual void getUsage (osg::ApplicationUsage &usage) const =0
 Get the keyboard and mouse usage of this viewer.

Protected Member Functions

void makeCurrent (osg::GraphicsContext *gc)
void releaseContext ()
virtual void viewerInit ()=0

Protected Attributes

osg::ref_ptr
< osg::Stats
_stats
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
osg::ref_ptr
< osg::EndOfDynamicDrawBlock
_endDynamicDrawBlock
osg::ref_ptr
< osgGA::EventVisitor
_eventVisitor
osg::ref_ptr
< osg::OperationQueue
_updateOperations
osg::ref_ptr
< osgUtil::UpdateVisitor
_updateVisitor
osg::ref_ptr
< osg::Operation
_realizeOperation
osg::observer_ptr
< osg::GraphicsContext
_currentContext


Detailed Description

ViewerBase is the view base class that is inhertied by both Viewer and CompositeViewer.


Member Typedef Documentation

typedef std::vector<osg::Camera*> osgViewer::ViewerBase::Cameras

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

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

typedef std::vector<OpenThreads::Thread*> osgViewer::ViewerBase::Threads

typedef std::vector<osg::OperationThread*> osgViewer::ViewerBase::OperationThreads

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

typedef std::vector<osgViewer::View*> osgViewer::ViewerBase::Views


Member Enumeration Documentation

enum osgViewer::ViewerBase::ThreadingModel

Enumerator:
SingleThreaded 
CullDrawThreadPerContext 
ThreadPerContext 
DrawThreadPerContext 
CullThreadPerCameraDrawThreadPerContext 
ThreadPerCamera 
AutomaticSelection 

enum osgViewer::ViewerBase::BarrierPosition

Enumerator:
BeforeSwapBuffers 
AfterSwapBuffers 


Constructor & Destructor Documentation

osgViewer::ViewerBase::ViewerBase (  ) 

osgViewer::ViewerBase::ViewerBase ( const ViewerBase vb  ) 


Member Function Documentation

void osgViewer::ViewerBase::setStats ( osg::Stats stats  )  [inline]

Set the Stats object used for collect various frame related timing and scene graph stats.

osg::Stats* osgViewer::ViewerBase::getStats (  )  [inline]

Get the Viewers Stats object.

const osg::Stats* osgViewer::ViewerBase::getStats (  )  const [inline]

Get the Viewers Stats object.

virtual bool osgViewer::ViewerBase::readConfiguration ( const std::string &  filename  )  [pure virtual]

read the viewer configuration from a configuration file.

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual bool osgViewer::ViewerBase::isRealized (  )  const [pure virtual]

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

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual void osgViewer::ViewerBase::realize (  )  [pure virtual]

set up windows and associated threads.

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual void osgViewer::ViewerBase::setThreadingModel ( ThreadingModel  threadingModel  )  [virtual]

Set the threading model the rendering traversals will use.

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

Get the threading model the rendering traversals will use.

virtual ThreadingModel osgViewer::ViewerBase::suggestBestThreadingModel (  )  [virtual]

Let the viewer suggest the best threading model for the viewers camera/window setup and the hardware available.

virtual void osgViewer::ViewerBase::setUpThreading (  )  [virtual]

Set up the threading and processor affinity as per the viewers threading model.

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

Return true if viewer threads are running.

virtual void osgViewer::ViewerBase::stopThreading (  )  [virtual]

Stop any threads begin run by viewer.

virtual void osgViewer::ViewerBase::startThreading (  )  [virtual]

Start any threads required by the viewer.

void osgViewer::ViewerBase::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::ViewerBase::getEndBarrierPosition (  )  const [inline]

Get the end barrier position.

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

Set the done flag to singnal the viewer's work is done and should exit the frame loop.

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

Reurn true if viewer's work is done and should exit the frame loop.

void osgViewer::ViewerBase::setEventVisitor ( osgGA::EventVisitor eventVisitor  )  [inline]

Set the EventVisitor.

osgGA::EventVisitor* osgViewer::ViewerBase::getEventVisitor (  )  [inline]

Get the EventVisitor.

const osgGA::EventVisitor* osgViewer::ViewerBase::getEventVisitor (  )  const [inline]

Get the const EventVisitor.

void osgViewer::ViewerBase::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::ViewerBase::getKeyEventSetsDone (  )  const [inline]

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

void osgViewer::ViewerBase::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::ViewerBase::getQuitEventSetsDone (  )  const [inline]

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

void osgViewer::ViewerBase::setUpdateVisitor ( osgUtil::UpdateVisitor updateVisitor  )  [inline]

Set the UpdateVisitor.

osgUtil::UpdateVisitor* osgViewer::ViewerBase::getUpdateVisitor (  )  [inline]

Get the UpdateVisitor.

const osgUtil::UpdateVisitor* osgViewer::ViewerBase::getUpdateVisitor (  )  const [inline]

Get the const UpdateVisitor.

void osgViewer::ViewerBase::setUpdateOperations ( osg::OperationQueue operations  )  [inline]

Set the Update OperationQueue.

osg::OperationQueue* osgViewer::ViewerBase::getUpdateOperations (  )  [inline]

Get the Update OperationQueue.

const osg::OperationQueue* osgViewer::ViewerBase::getUpdateOperations (  )  const [inline]

Get the const Update OperationQueue.

void osgViewer::ViewerBase::addUpdateOperation ( osg::Operation operation  ) 

Add an update operation.

void osgViewer::ViewerBase::removeUpdateOperation ( osg::Operation operation  ) 

Remove an update operation.

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

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

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

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

void osgViewer::ViewerBase::checkWindowStatus (  ) 

Check to see if windows are still open, if not set viewer done to true.

virtual int osgViewer::ViewerBase::run (  )  [pure 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.

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

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

Render a complete new frame.

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

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

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual void osgViewer::ViewerBase::eventTraversal (  )  [pure virtual]

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual void osgViewer::ViewerBase::updateTraversal (  )  [pure virtual]

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

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

virtual void osgViewer::ViewerBase::getCameras ( Cameras cameras,
bool  onlyActive = true 
) [pure virtual]

virtual void osgViewer::ViewerBase::getContexts ( Contexts contexts,
bool  onlyValid = true 
) [pure virtual]

virtual void osgViewer::ViewerBase::getWindows ( Windows windows,
bool  onlyValid = true 
) [pure virtual]

virtual void osgViewer::ViewerBase::getAllThreads ( Threads threads,
bool  onlyActive = true 
) [pure virtual]

virtual void osgViewer::ViewerBase::getOperationThreads ( OperationThreads threads,
bool  onlyActive = true 
) [pure virtual]

virtual void osgViewer::ViewerBase::getScenes ( Scenes scenes,
bool  onlyValid = true 
) [pure virtual]

virtual void osgViewer::ViewerBase::getViews ( Views views,
bool  onlyValid = true 
) [pure virtual]

virtual double osgViewer::ViewerBase::elapsedTime (  )  [pure virtual]

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual osg::FrameStamp* osgViewer::ViewerBase::getViewerFrameStamp (  )  [pure virtual]

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

virtual void osgViewer::ViewerBase::getUsage ( osg::ApplicationUsage usage  )  const [pure virtual]

Get the keyboard and mouse usage of this viewer.

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.

void osgViewer::ViewerBase::makeCurrent ( osg::GraphicsContext gc  )  [inline, protected]

void osgViewer::ViewerBase::releaseContext (  )  [inline, protected]

virtual void osgViewer::ViewerBase::viewerInit (  )  [protected, pure virtual]

Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.


Member Data Documentation

osg::ref_ptr<osg::Stats> osgViewer::ViewerBase::_stats [protected]

bool osgViewer::ViewerBase::_firstFrame [protected]

Reimplemented in osgViewer::CompositeViewer.

bool osgViewer::ViewerBase::_done [protected]

int osgViewer::ViewerBase::_keyEventSetsDone [protected]

bool osgViewer::ViewerBase::_quitEventSetsDone [protected]

ThreadingModel osgViewer::ViewerBase::_threadingModel [protected]

bool osgViewer::ViewerBase::_threadsRunning [protected]

BarrierPosition osgViewer::ViewerBase::_endBarrierPosition [protected]

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

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

osg::ref_ptr<osg::EndOfDynamicDrawBlock> osgViewer::ViewerBase::_endDynamicDrawBlock [protected]

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

osg::ref_ptr<osg::OperationQueue> osgViewer::ViewerBase::_updateOperations [protected]

osg::ref_ptr<osgUtil::UpdateVisitor> osgViewer::ViewerBase::_updateVisitor [protected]

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

osg::observer_ptr<osg::GraphicsContext> osgViewer::ViewerBase::_currentContext [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:54 2007 for the OpenSceneGraph by doxygen 1.5.3.