osgViewer::Viewer Class Reference

Inheritance diagram for osgViewer::Viewer:

osgViewer::View osg::View osgGA::GUIActionAdapter osg::Object osg::Referenced List of all members.

Public Types

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

Public Member Functions

 Viewer ()
 Viewer (osg::ArgumentParser &arguments)
virtual ~Viewer ()
bool isRealized () const
void realize ()
void setDone (bool done)
bool done () const
virtual void setStartTick (osg::Timer_t tick)
void setReferenceTime (double time=0.0)
virtual void setSceneData (osg::Node *node)
virtual GraphicsWindowEmbedded * setUpViewerAsEmbeddedInWindow (int x, int y, int width, int height)
void setThreadingModel (ThreadingModel threadingModel)
ThreadingModel getThreadingModel () const
ThreadingModel suggestBestThreadingModel ()
void setEndBarrierPosition (BarrierPosition bp)
BarrierPosition getEndBarrierPosition () const
void setEventVisitor (osgGA::EventVisitor *eventVisitor)
osgGA::EventVisitor * getEventVisitor ()
const osgGA::EventVisitor * getEventVisitor () const
void setKeyEventSetsDone (int key)
int getKeyEventSetsDone () const
void setQuitEventSetsDone (bool flag)
bool getQuitEventSetsDone () const
void setUpdateVisitor (osgUtil::UpdateVisitor *updateVisitor)
osgUtil::UpdateVisitor * getUpdateVisitor ()
const osgUtil::UpdateVisitor * getUpdateVisitor () const
void setUpdateOperations (osg::OperationQueue *operations)
osg::OperationQueue * getUpdateOperations ()
const osg::OperationQueue * getUpdateOperations () const
void addUpdateOperation (osg::Operation *operation)
void removeUpdateOperation (osg::Operation *operation)
virtual int run ()
virtual void frame (double simulationTime=USE_REFERENCE_TIME)
virtual void advance (double simulationTime=USE_REFERENCE_TIME)
virtual void eventTraversal ()
virtual void updateTraversal ()
virtual void renderingTraversals ()
void setCameraWithFocus (osg::Camera *camera)
osg::Camera * getCameraWithFocus ()
const osg::Camera * getCameraWithFocus () const
void getContexts (Contexts &contexts, bool onlyValid=true)
void getWindows (Windows &windows, bool onlyValid=true)
void getCameras (Cameras &cameras, bool onlyActive=true)
void getAllThreads (Threads &threads, bool onlyActive=true)
void getOperationThreads (OperationThreads &threads, bool onlyActive=true)
void setRealizeOperation (osg::Operation *op)
osg::Operation * getRealizeOperation ()
void setUpThreading ()
bool areThreadsRunning () const
void stopThreading ()
void startThreading ()
virtual void getUsage (osg::ApplicationUsage &usage) const

Protected Member Functions

void constructorInit ()
void checkWindowStatus ()
void makeCurrent (osg::GraphicsContext *gc)
void releaseContext ()

Protected Attributes

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
unsigned int _numWindowsOpenAtLastSetUpThreading
osg::observer_ptr< osg::Camera > _cameraWithFocus
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

Viewer holds a single view on to a single scene.


Member Typedef Documentation

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

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

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

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

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


Member Enumeration Documentation

enum osgViewer::Viewer::ThreadingModel

Enumerator:
SingleThreaded 
CullDrawThreadPerContext 
DrawThreadPerContext 
CullThreadPerCameraDrawThreadPerContext 
AutomaticSelection 

enum osgViewer::Viewer::BarrierPosition

Enumerator:
BeforeSwapBuffers 
AfterSwapBuffers 


Constructor & Destructor Documentation

osgViewer::Viewer::Viewer (  ) 

osgViewer::Viewer::Viewer ( osg::ArgumentParser &  arguments  ) 

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


Member Function Documentation

bool osgViewer::Viewer::isRealized (  )  const

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

void osgViewer::Viewer::realize (  ) 

set up windows and associated threads.

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

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

virtual void osgViewer::Viewer::setStartTick ( osg::Timer_t  tick  )  [virtual]

Reimplemented from osgViewer::View.

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

virtual void osgViewer::Viewer::setSceneData ( osg::Node *  node  )  [virtual]

Set the sene graph data that viewer with view.

Reimplemented from osgViewer::View.

virtual GraphicsWindowEmbedded* osgViewer::Viewer::setUpViewerAsEmbeddedInWindow ( int  x,
int  y,
int  width,
int  height 
) [virtual]

Convenience method for setting up the viewer so it can be used embedded in an external managed window. Returns the GraphicsWindowEmbedded that can be used by applications to pass in events to the viewer.

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

Set the threading model the rendering traversals will use.

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

Get the threading model the rendering traversals will use.

ThreadingModel osgViewer::Viewer::suggestBestThreadingModel (  ) 

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

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

Get the end barrier position.

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

Set the EventVisitor.

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

Get the EventVisitor.

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

Get the const EventVisitor.

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

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

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

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

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

Set the UpdateVisitor.

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

Get the UpdateVisitor.

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

Get the const UpdateVisitor.

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

Set the Update OperationQueue.

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

Get the Update OperationQueue.

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

Get the const Update OperationQueue.

void osgViewer::Viewer::addUpdateOperation ( osg::Operation *  operation  ) 

Add an update operation.

void osgViewer::Viewer::removeUpdateOperation ( osg::Operation *  operation  ) 

Remove an update operation.

virtual int osgViewer::Viewer::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::Viewer::frame ( double  simulationTime = USE_REFERENCE_TIME  )  [virtual]

Render a complete new frame. Calls advance(), eventTraversal(), updateTraversal(), renderingTraversals().

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

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

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

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

void osgViewer::Viewer::setCameraWithFocus ( osg::Camera *  camera  )  [inline]

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

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

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

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

void osgViewer::Viewer::getCameras ( Cameras &  cameras,
bool  onlyActive = true 
)

void osgViewer::Viewer::getAllThreads ( Threads &  threads,
bool  onlyActive = true 
)

void osgViewer::Viewer::getOperationThreads ( OperationThreads &  threads,
bool  onlyActive = true 
)

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

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

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

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

void osgViewer::Viewer::setUpThreading (  ) 

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

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

Return true if viewer threads are running.

void osgViewer::Viewer::stopThreading (  ) 

Stop any threads begin run by viewer.

void osgViewer::Viewer::startThreading (  ) 

Start any threads required by the viewer.

virtual void osgViewer::Viewer::getUsage ( osg::ApplicationUsage &  usage  )  const [virtual]

Get the keyboard and mouse usage of this viewer.

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

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

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

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


Member Data Documentation

bool osgViewer::Viewer::_firstFrame [protected]

bool osgViewer::Viewer::_done [protected]

int osgViewer::Viewer::_keyEventSetsDone [protected]

bool osgViewer::Viewer::_quitEventSetsDone [protected]

ThreadingModel osgViewer::Viewer::_threadingModel [protected]

bool osgViewer::Viewer::_threadsRunning [protected]

BarrierPosition osgViewer::Viewer::_endBarrierPosition [protected]

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

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

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

unsigned int osgViewer::Viewer::_numWindowsOpenAtLastSetUpThreading [protected]

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

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

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

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

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

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


The documentation for this class was generated from the following file:
Generated on Fri Sep 21 11:48:48 2007 for openscenegraph by  doxygen 1.5.1