OpenSceneGraph
3.5.1
|
Public Types | |
typedef std::set< OperationThread * > | OperationThreads |
Public Member Functions | |
OperationQueue () | |
osg::ref_ptr< Operation > | getNextOperation (bool blockIfEmpty=false) |
Get the next operation from the operation queue. More... | |
bool | empty () |
Return true if the operation queue is empty. More... | |
unsigned int | getNumOperationsInQueue () |
Return the num of pending operations that are sitting in the OperationQueue. More... | |
void | add (Operation *operation) |
Add operation to end of OperationQueue, this will be executed by the operation thread once this operation gets to the head of the queue. More... | |
void | remove (Operation *operation) |
Remove operation from OperationQueue. More... | |
void | remove (const std::string &name) |
Remove named operation from OperationQueue. More... | |
void | removeAllOperations () |
Remove all operations from OperationQueue. More... | |
void | runOperations (Object *callingObject=0) |
Run the operations. More... | |
void | releaseAllOperations () |
Call release on all operations. More... | |
void | releaseOperationsBlock () |
Release operations block that is used to block threads that are waiting on an empty operations queue. More... | |
const OperationThreads & | getOperationThreads () const |
Get the set of OperationThreads that are sharing this OperationQueue. More... | |
Public Member Functions inherited from osg::Referenced | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). More... | |
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::list< osg::ref_ptr< Operation > > | Operations |
Protected Member Functions | |
virtual | ~OperationQueue () |
void | addOperationThread (OperationThread *thread) |
void | removeOperationThread (OperationThread *thread) |
Protected Member Functions inherited from osg::Referenced | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
OpenThreads::Mutex | _operationsMutex |
osg::ref_ptr< osg::RefBlock > | _operationsBlock |
Operations | _operations |
Operations::iterator | _currentOperationIterator |
OperationThreads | _operationThreads |
Protected Attributes inherited from osg::Referenced | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Friends | |
class | OperationThread |
Additional Inherited Members | |
Static Public Member Functions inherited from osg::Referenced | |
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... | |
|
protected |
typedef std::set<OperationThread*> osg::OperationQueue::OperationThreads |
osg::OperationQueue::OperationQueue | ( | ) |
|
protectedvirtual |
Add operation to end of OperationQueue, this will be executed by the operation thread once this operation gets to the head of the queue.
|
protected |
bool osg::OperationQueue::empty | ( | ) |
Return true if the operation queue is empty.
osg::ref_ptr<Operation> osg::OperationQueue::getNextOperation | ( | bool | blockIfEmpty = false | ) |
Get the next operation from the operation queue.
Return null ref_ptr<> if no operations are left in queue.
unsigned int osg::OperationQueue::getNumOperationsInQueue | ( | ) |
Return the num of pending operations that are sitting in the OperationQueue.
|
inline |
Get the set of OperationThreads that are sharing this OperationQueue.
void osg::OperationQueue::releaseAllOperations | ( | ) |
Call release on all operations.
void osg::OperationQueue::releaseOperationsBlock | ( | ) |
Release operations block that is used to block threads that are waiting on an empty operations queue.
Remove operation from OperationQueue.
void osg::OperationQueue::remove | ( | const std::string & | name | ) |
Remove named operation from OperationQueue.
void osg::OperationQueue::removeAllOperations | ( | ) |
Remove all operations from OperationQueue.
|
protected |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at Wed Nov 11 2015 22:14:38 for the OpenSceneGraph by doxygen 1.8.10. |