OpenSceneGraph
|
CompositeViewer holds one or more views to one or more scenes. More...
Public Member Functions | |
CompositeViewer (const CompositeViewer &, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
CompositeViewer (osg::ArgumentParser &arguments) | |
META_Object (osgViewer, CompositeViewer) | |
bool | readConfiguration (const std::string &filename) |
Read the viewer configuration from a configuration file. More... | |
virtual void | setViewerStats (osg::Stats *stats) |
Set the Stats object used to collect various frame related timing and scene graph stats. More... | |
virtual osg::Stats * | getViewerStats () |
Get the Viewers Stats object. More... | |
virtual const osg::Stats * | getViewerStats () const |
Get the Viewers Stats object. More... | |
void | addView (osgViewer::View *view) |
void | removeView (osgViewer::View *view) |
osgViewer::View * | getView (unsigned i) |
const osgViewer::View * | getView (unsigned i) const |
unsigned int | getNumViews () const |
virtual bool | isRealized () const |
Get whether at least of one of this viewer's windows are realized. More... | |
virtual void | realize () |
Set up windows and associated threads. More... | |
virtual void | setStartTick (osg::Timer_t tick) |
void | setReferenceTime (double time=0.0) |
osg::FrameStamp * | getFrameStamp () |
const osg::FrameStamp * | getFrameStamp () const |
virtual double | elapsedTime () |
virtual osg::FrameStamp * | getViewerFrameStamp () |
virtual int | run () |
Execute a main frame loop. More... | |
virtual bool | checkNeedToDoFrame () |
Check to see if the new frame is required, called by run() when FrameScheme is set to ON_DEMAND. More... | |
virtual bool | checkEvents () |
check to see if events have been received, return true if events are now available. More... | |
virtual void | advance (double simulationTime=USE_REFERENCE_TIME) |
virtual void | eventTraversal () |
virtual void | updateTraversal () |
void | setCameraWithFocus (osg::Camera *camera) |
osg::Camera * | getCameraWithFocus () |
const osg::Camera * | getCameraWithFocus () const |
osgViewer::View * | getViewWithFocus () |
const osgViewer::View * | getViewWithFocus () const |
virtual void | getCameras (Cameras &cameras, bool onlyActive=true) |
virtual void | getContexts (Contexts &contexts, bool onlyValid=true) |
virtual void | getAllThreads (Threads &threads, bool onlyActive=true) |
virtual void | getOperationThreads (OperationThreads &threads, bool onlyActive=true) |
virtual void | getScenes (Scenes &scenes, bool onlyValid=true) |
virtual void | getViews (Views &views, bool onlyValid=true) |
virtual void | getUsage (osg::ApplicationUsage &usage) const |
Get the keyboard and mouse usage of this viewer. More... | |
![]() | |
ViewerBase (const ViewerBase &vb) | |
virtual void | setThreadingModel (ThreadingModel threadingModel) |
Set the threading model the rendering traversals will use. More... | |
ThreadingModel | getThreadingModel () const |
Get the threading model the rendering traversals will use. More... | |
virtual ThreadingModel | suggestBestThreadingModel () |
Let the viewer suggest the best threading model for the viewers camera/window setup and the hardware available. More... | |
virtual void | setUpThreading () |
Set up the threading and processor affinity as per the viewers threading model. More... | |
bool | areThreadsRunning () const |
Return true if viewer threads are running. More... | |
virtual void | stopThreading () |
Stop any threads being run by viewer. More... | |
virtual void | startThreading () |
Start any threads required by the viewer. More... | |
void | setEndBarrierPosition (BarrierPosition bp) |
Set the position of the end barrier. More... | |
BarrierPosition | getEndBarrierPosition () const |
Get the end barrier position. More... | |
void | setEndBarrierOperation (osg::BarrierOperation::PreBlockOp op) |
Set the end barrier operation. More... | |
osg::BarrierOperation::PreBlockOp | getEndBarrierOperation () const |
Get the end barrier operation. More... | |
void | setDone (bool done) |
Set the done flag to signal the viewer's work is done and should exit the frame loop. More... | |
bool | done () const |
Return true if viewer's work is done and should exit the frame loop. More... | |
void | setEventVisitor (osgGA::EventVisitor *eventVisitor) |
Set the EventVisitor. More... | |
osgGA::EventVisitor * | getEventVisitor () |
Get the EventVisitor. More... | |
const osgGA::EventVisitor * | getEventVisitor () const |
Get the const EventVisitor. More... | |
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. More... | |
int | getKeyEventSetsDone () const |
get the key event that the viewer checks on each frame to see if the viewer's done flag. More... | |
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 |
void | setReleaseContextAtEndOfFrameHint (bool hint) |
Hint to tell the renderingTraversals() method whether to call releaseContext() on the last context that was made current by the thread calling renderingTraverals(). More... | |
bool | getReleaseContextAtEndOfFrameHint () const |
Hint to tell the renderingTraversals() method whether to call releaseContext(). More... | |
void | setUpdateVisitor (osgUtil::UpdateVisitor *updateVisitor) |
Set the UpdateVisitor. More... | |
osgUtil::UpdateVisitor * | getUpdateVisitor () |
Get the UpdateVisitor. More... | |
const osgUtil::UpdateVisitor * | getUpdateVisitor () const |
Get the const UpdateVisitor. More... | |
void | setUpdateOperations (osg::OperationQueue *operations) |
Set the Update OperationQueue. More... | |
osg::OperationQueue * | getUpdateOperations () |
Get the Update OperationQueue. More... | |
const osg::OperationQueue * | getUpdateOperations () const |
Get the const Update OperationQueue. More... | |
void | addUpdateOperation (osg::Operation *operation) |
Add an update operation. More... | |
void | removeUpdateOperation (osg::Operation *operation) |
Remove an update operation. More... | |
void | setRealizeOperation (osg::Operation *op) |
Set the graphics operation to call on realization of the viewers graphics windows. More... | |
osg::Operation * | getRealizeOperation () |
Get the graphics operation to call on realization of the viewers graphics windows. More... | |
void | setIncrementalCompileOperation (osgUtil::IncrementalCompileOperation *ico) |
Set the incremental compile operation. More... | |
osgUtil::IncrementalCompileOperation * | getIncrementalCompileOperation () |
Get the incremental compile operation. More... | |
void | setRunFrameScheme (FrameScheme fs) |
FrameScheme | getRunFrameScheme () const |
void | setRunMaxFrameRate (double frameRate) |
double | getRunMaxFrameRate () const |
virtual void | frame (double simulationTime=USE_REFERENCE_TIME) |
Render a complete new frame. More... | |
virtual void | renderingTraversals () |
virtual void | getWindows (Windows &windows, bool onlyValid=true) |
void | checkWindowStatus () |
Check to see if any windows are still open. More... | |
void | checkWindowStatus (const Contexts &contexts) |
Check to see if windows are still open using the list of contexts given as a parameter. More... | |
![]() | |
Object () | |
Construct an object. More... | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More... | |
virtual Object * | cloneType () const =0 |
Clone the type of an object, with Object* return type. More... | |
virtual Object * | clone (const CopyOp &) const =0 |
Clone an object, with Object* return type. More... | |
virtual bool | isSameKindAs (const Object *) const |
virtual const char * | libraryName () const =0 |
return the name of the object's library. More... | |
virtual const char * | className () const =0 |
return the name of the object's class type. More... | |
std::string | getCompoundClassName () const |
return the compound class name that combines the library name and class name. More... | |
virtual Node * | asNode () |
Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More... | |
virtual const Node * | asNode () const |
convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More... | |
virtual NodeVisitor * | asNodeVisitor () |
Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual const NodeVisitor * | asNodeVisitor () const |
convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual StateAttribute * | asStateAttribute () |
Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
virtual const StateAttribute * | asStateAttribute () const |
convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
virtual Uniform * | asUniform () |
Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
virtual const Uniform * | asUniform () const |
convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
virtual void | setName (const std::string &name) |
Set the name of object using C++ style string. More... | |
void | setName (const char *name) |
Set the name of object using a C style string. More... | |
const std::string & | getName () const |
Get the name of object. More... | |
void | setDataVariance (DataVariance dv) |
Set the data variance of this object. More... | |
DataVariance | getDataVariance () const |
Get the data variance of this object. More... | |
virtual void | computeDataVariance () |
Compute the DataVariance based on an assessment of callback etc. More... | |
void | setUserDataContainer (osg::UserDataContainer *udc) |
set the UserDataContainer object. More... | |
template<class T > | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
get the UserDataContainer attached to this object. More... | |
const osg::UserDataContainer * | getUserDataContainer () const |
get the const UserDataContainer attached to this object. More... | |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More... | |
virtual void | setUserData (Referenced *obj) |
Set user data, data must be subclassed from Referenced to allow automatic memory handling. More... | |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
Get user data. More... | |
virtual const Referenced * | getUserData () const |
Get const user data. More... | |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More... | |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More... | |
virtual void | resizeGLObjectBuffers (unsigned int) |
Resize any per context GLObject buffers to specified size. More... | |
virtual void | releaseGLObjects (osg::State *=0) const |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. More... | |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
provide implementation of osg::Object::getUserValue(..) template | |
![]() | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). More... | |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. More... | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. More... | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. More... | |
Protected Types | |
typedef std::vector< osg::ref_ptr< osgViewer::View > > | RefViews |
Protected Member Functions | |
void | constructorInit () |
virtual void | viewerInit () |
void | generateSlavePointerData (osg::Camera *camera, osgGA::GUIEventAdapter &event) |
void | generatePointerData (osgGA::GUIEventAdapter &event) |
void | reprojectPointerData (osgGA::GUIEventAdapter &source_event, osgGA::GUIEventAdapter &dest_event) |
![]() | |
void | viewerBaseInit () |
void | makeCurrent (osg::GraphicsContext *gc) |
void | releaseContext () |
![]() | |
virtual | ~Object () |
Object destructor. More... | |
![]() | |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
RefViews | _views |
bool | _firstFrame |
osg::ref_ptr< osg::Stats > | _stats |
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::GUIEventAdapter > | _previousEvent |
![]() | |
bool | _firstFrame |
bool | _done |
int | _keyEventSetsDone |
bool | _quitEventSetsDone |
bool | _releaseContextAtEndOfFrameHint |
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< osgUtil::IncrementalCompileOperation > | _incrementalCompileOperation |
osg::observer_ptr< osg::GraphicsContext > | _currentContext |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
OpenThreads::Mutex * | _refMutex |
int | _refCount |
void * | _observerSet |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
Set whether reference counting should use a mutex for thread safe reference counting. More... | |
static bool | getThreadSafeReferenceCounting () |
Get whether reference counting is active. More... | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. More... | |
CompositeViewer holds one or more views to one or more scenes.
|
virtual |
check to see if events have been received, return true if events are now available.
Implements osgViewer::ViewerBase.
|
virtual |
Check to see if the new frame is required, called by run() when FrameScheme is set to ON_DEMAND.
Implements osgViewer::ViewerBase.
|
virtual |
Get the keyboard and mouse usage of this viewer.
Implements osgViewer::ViewerBase.
|
inlinevirtual |
Get the Viewers Stats object.
Implements osgViewer::ViewerBase.
|
inlinevirtual |
Get the Viewers Stats object.
Implements osgViewer::ViewerBase.
|
virtual |
Get whether at least of one of this viewer's windows are realized.
Implements osgViewer::ViewerBase.
|
virtual |
Read the viewer configuration from a configuration file.
Implements osgViewer::ViewerBase.
|
virtual |
Set up windows and associated threads.
Implements osgViewer::ViewerBase.
|
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 from osgViewer::ViewerBase.
|
inlinevirtual |
Set the Stats object used to collect various frame related timing and scene graph stats.
Implements osgViewer::ViewerBase.