14#ifndef OSG_OPERATIONTHREAD
15#define OSG_OPERATIONTHREAD 1
This class provides an atomic increment and decrement operation.
Definition Atomic:48
BlockCount(unsigned int blockCount)
Definition Block:104
void set(bool doRelease)
Definition Block:79
This class provides an object-oriented thread mutex interface.
Definition Mutex:31
This class provides an object-oriented thread interface.
Definition Thread:48
Definition OperationThread:91
osg::ref_ptr< Operation > getNextOperation(bool blockIfEmpty=false)
virtual ~OperationQueue()
OperationThreads _operationThreads
Definition OperationThread:149
unsigned int getNumOperationsInQueue()
void addOperationThread(OperationThread *thread)
Operations::iterator _currentOperationIterator
Definition OperationThread:147
void removeOperationThread(OperationThread *thread)
void releaseOperationsBlock()
void removeAllOperations()
const OperationThreads & getOperationThreads() const
Definition OperationThread:131
OpenThreads::Mutex _operationsMutex
Definition OperationThread:144
void runOperations(Object *callingObject=0)
std::set< OperationThread * > OperationThreads
Definition OperationThread:128
osg::ref_ptr< osg::RefBlock > _operationsBlock
Definition OperationThread:145
Operations _operations
Definition OperationThread:146
void remove(const std::string &name)
void releaseAllOperations()
std::list< osg::ref_ptr< Operation > > Operations
Definition OperationThread:142
void remove(Operation *operation)
void add(Operation *operation)
Definition OperationThread:154
OperationQueue * getOperationQueue()
Definition OperationThread:169
void setParent(Object *parent)
Definition OperationThread:158
const Object * getParent() const
Definition OperationThread:162
void remove(Operation *operation)
osg::ref_ptr< OperationQueue > _operationQueue
Definition OperationThread:211
osg::ref_ptr< Operation > _currentOperation
Definition OperationThread:212
const OperationQueue * getOperationQueue() const
Definition OperationThread:172
observer_ptr< Object > _parent
Definition OperationThread:206
OpenThreads::Mutex _threadMutex
Definition OperationThread:210
bool getDone() const
Definition OperationThread:197
void setOperationQueue(OperationQueue *opq)
void removeAllOperations()
Object * getParent()
Definition OperationThread:160
virtual ~OperationThread()
void add(Operation *operation)
OpenThreads::Atomic _done
Definition OperationThread:208
osg::ref_ptr< Operation > getCurrentOperation()
Definition OperationThread:190
void remove(const std::string &name)
Definition OperationThread:51
virtual void operator()(Object *)=0
void setKeep(bool keep)
Definition OperationThread:66
bool getKeep() const
Definition OperationThread:69
const std::string & getName() const
Definition OperationThread:63
bool _keep
Definition OperationThread:85
Operation(const std::string &name, bool keep)
Definition OperationThread:54
std::string _name
Definition OperationThread:84
void setName(const std::string &name)
Definition OperationThread:60
virtual void release()
Definition OperationThread:72
Operation()
Definition OperationThread:79
virtual ~Operation()
Definition OperationThread:82
Definition OperationThread:40
RefBlockCount(unsigned blockCount)
Definition OperationThread:43
Definition OperationThread:31
RefBlock()
Definition OperationThread:34
Definition observer_ptr:39
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
OperationThread OperationsThread
Definition OperationThread:216
#define OSG_EXPORT
Definition osg/Export:39