osgViewer::ViewerBase Class Referenceabstract

`#include <ViewerBase>`

Inheritance diagram for osgViewer::ViewerBase:

## Public Types

enum | ThreadingModel { SingleThreaded , CullDrawThreadPerContext , ThreadPerContext = CullDrawThreadPerContext , DrawThreadPerContext , CullThreadPerCameraDrawThreadPerContext , ThreadPerCamera = CullThreadPerCameraDrawThreadPerContext , AutomaticSelection }
enum | BarrierPosition { BeforeSwapBuffers , AfterSwapBuffers }
enum | FrameScheme { ON_DEMAND , CONTINUOUS }
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 Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

## Public Member Functions

| ViewerBase ()
| ViewerBase (const ViewerBase &vb)
virtual void | setViewerStats (osg::Stats *stats)=0
virtual osg::Stats * | getViewerStats ()=0
virtual const osg::Stats * | getViewerStats () const =0
virtual bool | readConfiguration (const std::string &filename)=0
virtual bool | isRealized () const =0
virtual void | realize ()=0
void | setUseConfigureAffinity (bool flag)
bool | getUseConfigureAffinity () const
virtual void | configureAffinity ()
virtual void | setProcessorAffinity (const OpenThreads::Affinity &affinity)
OpenThreads::Affinity & | getProcessorAffinity ()
const OpenThreads::Affinity & | getProcessorAffinity () const
virtual void | setThreadingModel (ThreadingModel threadingModel)
ThreadingModel | getThreadingModel () const
virtual ThreadingModel | suggestBestThreadingModel ()
virtual void | setUpThreading ()
bool | areThreadsRunning () const
virtual void | stopThreading ()
virtual void | startThreading ()
void | setEndBarrierPosition (BarrierPosition bp)
BarrierPosition | getEndBarrierPosition () const
void | setEndBarrierOperation (osg::BarrierOperation::PreBlockOp op)
osg::BarrierOperation::PreBlockOp | getEndBarrierOperation () const
void | setDone (bool done)
bool | done () 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 | setReleaseContextAtEndOfFrameHint (bool hint)
bool | getReleaseContextAtEndOfFrameHint () 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)
void | setRealizeOperation (osg::Operation *op)
osg::Operation * | getRealizeOperation ()
void | setCleanUpOperation (osg::Operation *op)
osg::Operation * | getCleanUpOperation ()
void | setIncrementalCompileOperation (osgUtil::IncrementalCompileOperation *ico)
osgUtil::IncrementalCompileOperation * | getIncrementalCompileOperation ()
void | setRunFrameScheme (FrameScheme fs)
FrameScheme | getRunFrameScheme () const
void | setRunMaxFrameRate (double frameRate)
double | getRunMaxFrameRate () const
virtual int | run ()
virtual bool | checkNeedToDoFrame ()=0
virtual bool | checkEvents ()=0
virtual void | frame (double simulationTime=USE_REFERENCE_TIME)
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)
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
void | checkWindowStatus ()
void | checkWindowStatus (const Contexts &contexts)
virtual double | elapsedTime ()=0
virtual osg::FrameStamp * | getViewerFrameStamp ()=0
virtual void | getUsage (osg::ApplicationUsage &usage) const =0
bool | getRequestRedraw () const
bool | getRequestContinousUpdate () const
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
virtual Object * | clone (const CopyOp &) const =0
virtual bool | isSameKindAs (const Object *) const
virtual const char * | libraryName () const =0
virtual const char * | className () const =0
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
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)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () 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
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Member Functions

void | viewerBaseInit ()
void | makeCurrent (osg::GraphicsContext *gc)
void | releaseContext ()
virtual void | viewerInit ()=0
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

bool | _firstFrame
bool | _done
int | _keyEventSetsDone
bool | _quitEventSetsDone
bool | _releaseContextAtEndOfFrameHint
bool | _useConfigureAffinity
OpenThreads::Affinity | _affinity
ThreadingModel | _threadingModel
bool | _threadsRunning
bool | _requestRedraw
bool | _requestContinousUpdate
FrameScheme | _runFrameScheme
double | _runMaxFrameRate
BarrierPosition | _endBarrierPosition
osg::BarrierOperation::PreBlockOp | _endBarrierOperation
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::ref_ptr< osg::Operation > | _cleanUpOperation
osg::ref_ptr< osgUtil::IncrementalCompileOperation > | _incrementalCompileOperation
osg::observer_ptr< osg::GraphicsContext > | _currentContext
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 | osgViewer::View

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

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

## Member Typedef Documentation

## Cameras

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

## Contexts

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

## OperationThreads

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

## Scenes

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

## Threads

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

## Views

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

## Windows

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

## Member Enumeration Documentation

## BarrierPosition

enum osgViewer::ViewerBase::BarrierPosition

Enumerator
BeforeSwapBuffers |
AfterSwapBuffers |

## FrameScheme

enum osgViewer::ViewerBase::FrameScheme

Enumerator
ON_DEMAND |
CONTINUOUS |

## ThreadingModel

enum osgViewer::ViewerBase::ThreadingModel

Enumerator
SingleThreaded |
CullDrawThreadPerContext |
ThreadPerContext |
DrawThreadPerContext |
CullThreadPerCameraDrawThreadPerContext |
ThreadPerCamera |
AutomaticSelection |

## Constructor & Destructor Documentation

## ViewerBase() [1/2]

osgViewer::ViewerBase::ViewerBase | ( |  | ) |

Referenced by ViewerBase().

## ViewerBase() [2/2]

osgViewer::ViewerBase::ViewerBase | ( | const ViewerBase & | vb | ) |

References ViewerBase().

## Member Function Documentation

## addUpdateOperation()

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

Add an update operation.

## advance()

virtual void osgViewer::ViewerBase::advance | ( | double | simulationTime = USE_REFERENCE_TIME | ) |

pure virtual

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

References USE_REFERENCE_TIME.

## areThreadsRunning()

bool osgViewer::ViewerBase::areThreadsRunning | ( |  | ) | const

inline

Return true if viewer threads are running.

References _threadsRunning.

## checkEvents()

virtual bool osgViewer::ViewerBase::checkEvents | ( |  | ) |

pure virtual

check to see if events have been received, return true if events are now available.

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

## checkNeedToDoFrame()

virtual bool osgViewer::ViewerBase::checkNeedToDoFrame | ( |  | ) |

pure virtual

check to see if the new frame is required, called by run(..) when FrameScheme is set to ON_DEMAND.

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

## checkWindowStatus() [1/2]

void osgViewer::ViewerBase::checkWindowStatus | ( |  | ) |

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

## checkWindowStatus() [2/2]

void osgViewer::ViewerBase::checkWindowStatus | ( | const Contexts & | contexts | ) |

Check to see if windows are still open using the list of contexts given as a parameter. If no windows are open, stop rendering threads and set viewer done to true. This function is more effective than checkWindowStatus() as it does not query the context list and should be used whenever context list is already available in your code.

## configureAffinity()

virtual void osgViewer::ViewerBase::configureAffinity | ( |  | ) |

virtual

analyse the viewer configuration and select an appropriate Affinity for main thread, and any graphics, camera threads and database pagers that are required.

## done()

bool osgViewer::ViewerBase::done | ( |  | ) | const

inline

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

References _done.

Referenced by setDone().

## elapsedTime()

virtual double osgViewer::ViewerBase::elapsedTime | ( |  | ) |

pure virtual

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

## eventTraversal()

virtual void osgViewer::ViewerBase::eventTraversal | ( |  | ) |

pure virtual

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

## frame()

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

virtual

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

References USE_REFERENCE_TIME.

## getAllThreads()

virtual void osgViewer::ViewerBase::getAllThreads | ( | Threads & | threads,
|  | bool | onlyActive = true )

pure virtual

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

## getCameras()

virtual void osgViewer::ViewerBase::getCameras | ( | Cameras & | cameras,
|  | bool | onlyActive = true )

pure virtual

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

## getCleanUpOperation()

osg::Operation * osgViewer::ViewerBase::getCleanUpOperation | ( |  | ) |

inline

Get the graphics operation to call before the viewers graphics contexts close.

References _cleanUpOperation.

## getContexts()

virtual void osgViewer::ViewerBase::getContexts | ( | Contexts & | contexts,
|  | bool | onlyValid = true )

pure virtual

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

## getEndBarrierOperation()

osg::BarrierOperation::PreBlockOp osgViewer::ViewerBase::getEndBarrierOperation | ( |  | ) | const

inline

Get the end barrier operation.

References _endBarrierOperation.

## getEndBarrierPosition()

BarrierPosition osgViewer::ViewerBase::getEndBarrierPosition | ( |  | ) | const

inline

Get the end barrier position.

References _endBarrierPosition.

## getEventVisitor() [1/2]

osgGA::EventVisitor * osgViewer::ViewerBase::getEventVisitor | ( |  | ) |

inline

Get the EventVisitor.

References _eventVisitor.

## getEventVisitor() [2/2]

const osgGA::EventVisitor * osgViewer::ViewerBase::getEventVisitor | ( |  | ) | const

inline

Get the const EventVisitor.

References _eventVisitor.

## getIncrementalCompileOperation()

osgUtil::IncrementalCompileOperation * osgViewer::ViewerBase::getIncrementalCompileOperation | ( |  | ) |

inline

Get the incremental compile operation.

References _incrementalCompileOperation.

## getKeyEventSetsDone()

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.

References _keyEventSetsDone.

## getOperationThreads()

virtual void osgViewer::ViewerBase::getOperationThreads | ( | OperationThreads & | threads,
|  | bool | onlyActive = true )

pure virtual

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

## getProcessorAffinity() [1/2]

OpenThreads::Affinity & osgViewer::ViewerBase::getProcessorAffinity | ( |  | ) |

inline

References _affinity.

## getProcessorAffinity() [2/2]

const OpenThreads::Affinity & osgViewer::ViewerBase::getProcessorAffinity | ( |  | ) | const

inline

References _affinity.

## getQuitEventSetsDone()

bool osgViewer::ViewerBase::getQuitEventSetsDone | ( |  | ) | const

inline

Returns
  true if the viewer respond to the QUIT_APPLICATION-event

References _quitEventSetsDone.

## getRealizeOperation()

osg::Operation * osgViewer::ViewerBase::getRealizeOperation | ( |  | ) |

inline

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

References _realizeOperation.

## getReleaseContextAtEndOfFrameHint()

bool osgViewer::ViewerBase::getReleaseContextAtEndOfFrameHint | ( |  | ) | const

inline

Hint to tell the renderingTraversals() method whether to call releaseContext().

References _releaseContextAtEndOfFrameHint.

## getRequestContinousUpdate()

bool osgViewer::ViewerBase::getRequestContinousUpdate | ( |  | ) | const

inline

References _requestContinousUpdate.

## getRequestRedraw()

bool osgViewer::ViewerBase::getRequestRedraw | ( |  | ) | const

inline

References _requestRedraw.

## getRunFrameScheme()

FrameScheme osgViewer::ViewerBase::getRunFrameScheme | ( |  | ) | const

inline

References _runFrameScheme.

## getRunMaxFrameRate()

double osgViewer::ViewerBase::getRunMaxFrameRate | ( |  | ) | const

inline

References _runMaxFrameRate.

## getScenes()

virtual void osgViewer::ViewerBase::getScenes | ( | Scenes & | scenes,
|  | bool | onlyValid = true )

pure virtual

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

## getThreadingModel()

ThreadingModel osgViewer::ViewerBase::getThreadingModel | ( |  | ) | const

inline

Get the threading model the rendering traversals will use.

References _threadingModel.

## getUpdateOperations() [1/2]

osg::OperationQueue * osgViewer::ViewerBase::getUpdateOperations | ( |  | ) |

inline

Get the Update OperationQueue.

References _updateOperations.

## getUpdateOperations() [2/2]

const osg::OperationQueue * osgViewer::ViewerBase::getUpdateOperations | ( |  | ) | const

inline

Get the const Update OperationQueue.

References _updateOperations.

## getUpdateVisitor() [1/2]

osgUtil::UpdateVisitor * osgViewer::ViewerBase::getUpdateVisitor | ( |  | ) |

inline

Get the UpdateVisitor.

References _updateVisitor.

## getUpdateVisitor() [2/2]

const osgUtil::UpdateVisitor * osgViewer::ViewerBase::getUpdateVisitor | ( |  | ) | const

inline

Get the const UpdateVisitor.

References _updateVisitor.

## getUsage()

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.

## getUseConfigureAffinity()

bool osgViewer::ViewerBase::getUseConfigureAffinity | ( |  | ) | const

inline

get whether the setUpThreading() method should call configureAffinity() to set up up the processor affinity of viewer threads.

References _useConfigureAffinity.

## getViewerFrameStamp()

virtual osg::FrameStamp * osgViewer::ViewerBase::getViewerFrameStamp | ( |  | ) |

pure virtual

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

## getViewerStats() [1/2]

virtual const osg::Stats * osgViewer::ViewerBase::getViewerStats | ( |  | ) | const

pure virtual

Get the Viewers Stats object.

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

## getViewerStats() [2/2]

virtual osg::Stats * osgViewer::ViewerBase::getViewerStats | ( |  | ) |

pure virtual

Get the Viewers Stats object.

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

## getViews()

virtual void osgViewer::ViewerBase::getViews | ( | Views & | views,
|  | bool | onlyValid = true )

pure virtual

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

## getWindows()

virtual void osgViewer::ViewerBase::getWindows | ( | Windows & | windows,
|  | bool | onlyValid = true )

virtual

## isRealized()

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.

## makeCurrent()

void osgViewer::ViewerBase::makeCurrent | ( | osg::GraphicsContext * | gc | ) |

inline protected

References _currentContext, osg::GraphicsContext::makeCurrent(), releaseContext(), and osg::GraphicsContext::valid().

## readConfiguration()

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.

## realize()

virtual void osgViewer::ViewerBase::realize | ( |  | ) |

pure virtual

set up windows and associated threads.

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

## releaseContext()

void osgViewer::ViewerBase::releaseContext | ( |  | ) |

inline protected

References _currentContext.

Referenced by makeCurrent().

## removeUpdateOperation()

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

Remove an update operation.

## renderingTraversals()

virtual void osgViewer::ViewerBase::renderingTraversals | ( |  | ) |

virtual

## run()

virtual int osgViewer::ViewerBase::run | ( |  | ) |

virtual

Execute a main frame loop. Equivalent 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.

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

## setCleanUpOperation()

void osgViewer::ViewerBase::setCleanUpOperation | ( | osg::Operation * | op | ) |

inline

Set the graphics operation to call before the viewers graphics contexts close.

References _cleanUpOperation.

## setDone()

void osgViewer::ViewerBase::setDone | ( | bool | done | ) |

inline

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

References _done, and done().

## setEndBarrierOperation()

void osgViewer::ViewerBase::setEndBarrierOperation | ( | osg::BarrierOperation::PreBlockOp | op | ) |

Set the end barrier operation. `op` may be one of GL_FLUSH, GL_FINISH, or NO_OPERATION. NO_OPERATION is the default. Per BarrierOperation::operator()(), a glFlush() command, glFinish() command, or no additional OpenGL command will be issued before entering the end barrier.

## setEndBarrierPosition()

void osgViewer::ViewerBase::setEndBarrierPosition | ( | BarrierPosition | bp | ) |

Set the position of the end barrier. AfterSwapBuffers may result in slightly higher framerates, but may lead to inconsistent 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.

## setEventVisitor()

void osgViewer::ViewerBase::setEventVisitor | ( | osgGA::EventVisitor * | eventVisitor | ) |

inline

Set the EventVisitor.

References _eventVisitor.

## setIncrementalCompileOperation()

void osgViewer::ViewerBase::setIncrementalCompileOperation | ( | osgUtil::IncrementalCompileOperation * | ico | ) |

Set the incremental compile operation. Used to manage the OpenGL object compilation and merging of subgraphs in a way that avoids overloading the rendering of frame with too many new objects in one frame.

## setKeyEventSetsDone()

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.

References _keyEventSetsDone.

## setProcessorAffinity()

virtual void osgViewer::ViewerBase::setProcessorAffinity | ( | const OpenThreads::Affinity & | affinity | ) |

inline virtual

Set the processor affinity of main thread.

References _affinity.

## setQuitEventSetsDone()

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

References _quitEventSetsDone.

## setRealizeOperation()

void osgViewer::ViewerBase::setRealizeOperation | ( | osg::Operation * | op | ) |

inline

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

References _realizeOperation.

## setReleaseContextAtEndOfFrameHint()

void osgViewer::ViewerBase::setReleaseContextAtEndOfFrameHint | ( | bool | hint | ) |

inline

Hint to tell the renderingTraversals() method whether to call releaseContext() on the last context that was made current by the thread calling renderingTraverals(). Note, when running multi-threaded viewer no threads will be made current or release current. Setting this hint to false can enable the frame loop to be lazy about calling makeCurrent and releaseContext on each new frame, helping performance. However, if you frame loop is managing multiple graphics context all from the main frame thread then this hint must be left on, otherwise the wrong context could be left active, introducing errors in rendering.

References _releaseContextAtEndOfFrameHint.

## setRunFrameScheme()

void osgViewer::ViewerBase::setRunFrameScheme | ( | FrameScheme | fs | ) |

inline

References _runFrameScheme.

## setRunMaxFrameRate()

void osgViewer::ViewerBase::setRunMaxFrameRate | ( | double | frameRate | ) |

inline

References _runMaxFrameRate.

## setThreadingModel()

virtual void osgViewer::ViewerBase::setThreadingModel | ( | ThreadingModel | threadingModel | ) |

virtual

Set the threading model the rendering traversals will use.

## setUpdateOperations()

void osgViewer::ViewerBase::setUpdateOperations | ( | osg::OperationQueue * | operations | ) |

inline

Set the Update OperationQueue.

References _updateOperations.

## setUpdateVisitor()

void osgViewer::ViewerBase::setUpdateVisitor | ( | osgUtil::UpdateVisitor * | updateVisitor | ) |

inline

Set the UpdateVisitor.

References _updateVisitor.

## setUpThreading()

virtual void osgViewer::ViewerBase::setUpThreading | ( |  | ) |

virtual

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

## setUseConfigureAffinity()

void osgViewer::ViewerBase::setUseConfigureAffinity | ( | bool | flag | ) |

inline

Set whether the setUpThreading() method should call configureAffinity() to set up up the processor affinity of viewer threads.

References _useConfigureAffinity.

## setViewerStats()

virtual void osgViewer::ViewerBase::setViewerStats | ( | osg::Stats * | stats | ) |

pure virtual

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

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

## startThreading()

virtual void osgViewer::ViewerBase::startThreading | ( |  | ) |

virtual

Start any threads required by the viewer.

## stopThreading()

virtual void osgViewer::ViewerBase::stopThreading | ( |  | ) |

virtual

Stop any threads being run by viewer.

## suggestBestThreadingModel()

virtual ThreadingModel osgViewer::ViewerBase::suggestBestThreadingModel | ( |  | ) |

virtual

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

## updateTraversal()

virtual void osgViewer::ViewerBase::updateTraversal | ( |  | ) |

pure virtual

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

## viewerBaseInit()

void osgViewer::ViewerBase::viewerBaseInit | ( |  | ) |

protected

## viewerInit()

virtual void osgViewer::ViewerBase::viewerInit | ( |  | ) |

protected pure virtual

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

## Friends And Related Symbol Documentation

## osgViewer::View

friend class osgViewer::View

friend

## Member Data Documentation

## _affinity

OpenThreads::Affinity osgViewer::ViewerBase::_affinity

protected

Referenced by getProcessorAffinity(), getProcessorAffinity(), and setProcessorAffinity().

## _cleanUpOperation

osg::ref_ptr<osg::Operation> osgViewer::ViewerBase::_cleanUpOperation

protected

Referenced by getCleanUpOperation(), and setCleanUpOperation().

## _currentContext

osg::observer_ptr<osg::GraphicsContext> osgViewer::ViewerBase::_currentContext

protected

Referenced by makeCurrent(), and releaseContext().

## _done

bool osgViewer::ViewerBase::_done

protected

Referenced by done(), and setDone().

## _endBarrierOperation

osg::BarrierOperation::PreBlockOp osgViewer::ViewerBase::_endBarrierOperation

protected

Referenced by getEndBarrierOperation().

## _endBarrierPosition

BarrierPosition osgViewer::ViewerBase::_endBarrierPosition

protected

Referenced by getEndBarrierPosition().

## _endDynamicDrawBlock

osg::ref_ptr<osg::EndOfDynamicDrawBlock> osgViewer::ViewerBase::_endDynamicDrawBlock

protected

## _endRenderingDispatchBarrier

osg::ref_ptr<osg::BarrierOperation> osgViewer::ViewerBase::_endRenderingDispatchBarrier

protected

## _eventVisitor

osg::ref_ptr<osgGA::EventVisitor> osgViewer::ViewerBase::_eventVisitor

protected

Referenced by getEventVisitor(), getEventVisitor(), and setEventVisitor().

## _firstFrame

bool osgViewer::ViewerBase::_firstFrame

protected

## _incrementalCompileOperation

osg::ref_ptr<osgUtil::IncrementalCompileOperation> osgViewer::ViewerBase::_incrementalCompileOperation

protected

Referenced by getIncrementalCompileOperation().

## _keyEventSetsDone

int osgViewer::ViewerBase::_keyEventSetsDone

protected

Referenced by getKeyEventSetsDone(), and setKeyEventSetsDone().

## _quitEventSetsDone

bool osgViewer::ViewerBase::_quitEventSetsDone

protected

Referenced by getQuitEventSetsDone(), and setQuitEventSetsDone().

## _realizeOperation

osg::ref_ptr<osg::Operation> osgViewer::ViewerBase::_realizeOperation

protected

Referenced by getRealizeOperation(), and setRealizeOperation().

## _releaseContextAtEndOfFrameHint

bool osgViewer::ViewerBase::_releaseContextAtEndOfFrameHint

protected

Referenced by getReleaseContextAtEndOfFrameHint(), and setReleaseContextAtEndOfFrameHint().

## _requestContinousUpdate

bool osgViewer::ViewerBase::_requestContinousUpdate

protected

Referenced by getRequestContinousUpdate().

## _requestRedraw

bool osgViewer::ViewerBase::_requestRedraw

protected

Referenced by getRequestRedraw().

## _runFrameScheme

FrameScheme osgViewer::ViewerBase::_runFrameScheme

protected

Referenced by getRunFrameScheme(), and setRunFrameScheme().

## _runMaxFrameRate

double osgViewer::ViewerBase::_runMaxFrameRate

protected

Referenced by getRunMaxFrameRate(), and setRunMaxFrameRate().

## _startRenderingBarrier

osg::ref_ptr<osg::BarrierOperation> osgViewer::ViewerBase::_startRenderingBarrier

protected

## _threadingModel

ThreadingModel osgViewer::ViewerBase::_threadingModel

protected

Referenced by getThreadingModel().

## _threadsRunning

bool osgViewer::ViewerBase::_threadsRunning

protected

Referenced by areThreadsRunning().

## _updateOperations

osg::ref_ptr<osg::OperationQueue> osgViewer::ViewerBase::_updateOperations

protected

Referenced by getUpdateOperations(), getUpdateOperations(), and setUpdateOperations().

## _updateVisitor

osg::ref_ptr<osgUtil::UpdateVisitor> osgViewer::ViewerBase::_updateVisitor

protected

Referenced by getUpdateVisitor(), getUpdateVisitor(), and setUpdateVisitor().

## _useConfigureAffinity

bool osgViewer::ViewerBase::_useConfigureAffinity

protected

Referenced by getUseConfigureAffinity(), and setUseConfigureAffinity().

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

- ViewerBase