|
openscenegraph
|
#include <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 ©op=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 |
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 () |
ViewerBase is the view base class that is inherited by both Viewer and CompositeViewer.
| typedef std::vector<osg::Camera*> osgViewer::ViewerBase::Cameras |
| typedef std::vector<osg::GraphicsContext*> osgViewer::ViewerBase::Contexts |
| typedef std::vector<osg::OperationThread*> osgViewer::ViewerBase::OperationThreads |
| typedef std::vector<osgViewer::Scene*> osgViewer::ViewerBase::Scenes |
| typedef std::vector<OpenThreads::Thread*> osgViewer::ViewerBase::Threads |
| typedef std::vector<osgViewer::View*> osgViewer::ViewerBase::Views |
| typedef std::vector<osgViewer::GraphicsWindow*> osgViewer::ViewerBase::Windows |
| osgViewer::ViewerBase::ViewerBase | ( | ) |
Referenced by ViewerBase().
| osgViewer::ViewerBase::ViewerBase | ( | const ViewerBase & | vb | ) |
References ViewerBase().
| void osgViewer::ViewerBase::addUpdateOperation | ( | osg::Operation * | operation | ) |
Add an update operation.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
References USE_REFERENCE_TIME.
|
inline |
Return true if viewer threads are running.
References _threadsRunning.
|
pure virtual |
check to see if events have been received, return true if events are now available.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
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.
| void osgViewer::ViewerBase::checkWindowStatus | ( | ) |
Check to see if any windows are still open. If not, set viewer done to true.
| 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.
|
virtual |
analyse the viewer configuration and select an appropriate Affinity for main thread, and any graphics, camera threads and database pagers that are required.
|
inline |
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
virtual |
Render a complete new frame. Calls advance(), eventTraversal(), updateTraversal(), renderingTraversals().
References USE_REFERENCE_TIME.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inline |
Get the graphics operation to call before the viewers graphics contexts close.
References _cleanUpOperation.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inline |
Get the end barrier operation.
References _endBarrierOperation.
|
inline |
Get the end barrier position.
References _endBarrierPosition.
|
inline |
Get the EventVisitor.
References _eventVisitor.
|
inline |
Get the const EventVisitor.
References _eventVisitor.
|
inline |
Get the incremental compile operation.
References _incrementalCompileOperation.
|
inline |
get the key event that the viewer checks on each frame to see if the viewer's done flag.
References _keyEventSetsDone.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inline |
References _affinity.
|
inline |
References _affinity.
|
inline |
References _quitEventSetsDone.
|
inline |
Get the graphics operation to call on realization of the viewers graphics windows.
References _realizeOperation.
|
inline |
Hint to tell the renderingTraversals() method whether to call releaseContext().
References _releaseContextAtEndOfFrameHint.
|
inline |
References _requestContinousUpdate.
|
inline |
References _requestRedraw.
|
inline |
References _runFrameScheme.
|
inline |
References _runMaxFrameRate.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inline |
Get the threading model the rendering traversals will use.
References _threadingModel.
|
inline |
Get the Update OperationQueue.
References _updateOperations.
|
inline |
Get the const Update OperationQueue.
References _updateOperations.
|
inline |
Get the UpdateVisitor.
References _updateVisitor.
|
inline |
Get the const UpdateVisitor.
References _updateVisitor.
|
pure virtual |
Get the keyboard and mouse usage of this viewer.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inline |
get whether the setUpThreading() method should call configureAffinity() to set up up the processor affinity of viewer threads.
References _useConfigureAffinity.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
pure virtual |
Get the Viewers Stats object.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
pure virtual |
Get the Viewers Stats object.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
virtual |
|
pure virtual |
Get whether at least of one of this viewers windows are realized.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inlineprotected |
|
pure virtual |
read the viewer configuration from a configuration file.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
pure virtual |
set up windows and associated threads.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
inlineprotected |
References _currentContext.
Referenced by makeCurrent().
| void osgViewer::ViewerBase::removeUpdateOperation | ( | osg::Operation * | operation | ) |
Remove an update operation.
|
virtual |
|
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.
|
inline |
Set the graphics operation to call before the viewers graphics contexts close.
References _cleanUpOperation.
|
inline |
| 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.
| 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.
|
inline |
Set the EventVisitor.
References _eventVisitor.
| 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.
|
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.
|
inlinevirtual |
Set the processor affinity of main thread.
References _affinity.
|
inline |
if the flag is true, the viewer set its done flag when a QUIT_APPLICATION is received, false disables this feature
References _quitEventSetsDone.
|
inline |
Set the graphics operation to call on realization of the viewers graphics windows.
References _realizeOperation.
|
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.
|
inline |
References _runFrameScheme.
|
inline |
References _runMaxFrameRate.
|
virtual |
Set the threading model the rendering traversals will use.
|
inline |
Set the Update OperationQueue.
References _updateOperations.
|
inline |
Set the UpdateVisitor.
References _updateVisitor.
|
virtual |
Set up the threading and processor affinity as per the viewers threading model.
|
inline |
Set whether the setUpThreading() method should call configureAffinity() to set up up the processor affinity of viewer threads.
References _useConfigureAffinity.
|
pure virtual |
Set the Stats object used to collect various frame related timing and scene graph stats.
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
virtual |
Start any threads required by the viewer.
|
virtual |
Stop any threads being run by viewer.
|
virtual |
Let the viewer suggest the best threading model for the viewers camera/window setup and the hardware available.
|
pure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
protected |
|
protectedpure virtual |
Implemented in osgViewer::CompositeViewer, and osgViewer::Viewer.
|
friend |
|
protected |
Referenced by getProcessorAffinity(), getProcessorAffinity(), and setProcessorAffinity().
|
protected |
Referenced by getCleanUpOperation(), and setCleanUpOperation().
|
protected |
Referenced by makeCurrent(), and releaseContext().
|
protected |
Referenced by getEndBarrierOperation().
|
protected |
Referenced by getEndBarrierPosition().
|
protected |
|
protected |
|
protected |
Referenced by getEventVisitor(), getEventVisitor(), and setEventVisitor().
|
protected |
|
protected |
Referenced by getIncrementalCompileOperation().
|
protected |
Referenced by getKeyEventSetsDone(), and setKeyEventSetsDone().
|
protected |
Referenced by getQuitEventSetsDone(), and setQuitEventSetsDone().
|
protected |
Referenced by getRealizeOperation(), and setRealizeOperation().
|
protected |
Referenced by getReleaseContextAtEndOfFrameHint(), and setReleaseContextAtEndOfFrameHint().
|
protected |
Referenced by getRequestContinousUpdate().
|
protected |
Referenced by getRequestRedraw().
|
protected |
Referenced by getRunFrameScheme(), and setRunFrameScheme().
|
protected |
Referenced by getRunMaxFrameRate(), and setRunMaxFrameRate().
|
protected |
|
protected |
Referenced by getThreadingModel().
|
protected |
Referenced by areThreadsRunning().
|
protected |
Referenced by getUpdateOperations(), getUpdateOperations(), and setUpdateOperations().
|
protected |
Referenced by getUpdateVisitor(), getUpdateVisitor(), and setUpdateVisitor().
|
protected |
Referenced by getUseConfigureAffinity(), and setUseConfigureAffinity().