OpenSceneGraph
|
GraphicsThread is a helper class for running OpenGL GraphicsOperation within a single thread assigned to a specific GraphicsContext. More...
Public Member Functions | |
virtual void | run () |
Run does the graphics thread run loop. More... | |
![]() | |
void | setParent (Object *parent) |
Object * | getParent () |
const Object * | getParent () const |
void | setOperationQueue (OperationQueue *opq) |
Set the OperationQueue. More... | |
OperationQueue * | getOperationQueue () |
Get the OperationQueue. More... | |
const OperationQueue * | getOperationQueue () const |
Get the const OperationQueue. More... | |
void | add (Operation *operation) |
Add operation to end of OperationQueue, this will be executed by the graphics 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... | |
osg::ref_ptr< Operation > | getCurrentOperation () |
Get the operation currently being run. More... | |
void | setDone (bool done) |
bool | getDone () const |
virtual int | cancel () |
Cancel this graphics thread. More... | |
![]() | |
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... | |
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... | |
![]() | |
Thread () | |
Constructor. | |
virtual | ~Thread () |
Destructor. | |
int | getThreadId () |
Get a unique thread id. More... | |
size_t | getProcessId () |
Get the thread's process id. More... | |
int | start () |
Start the thread. More... | |
int | startThread () |
int | testCancel () |
Test the cancel state of the thread. More... | |
int | setSchedulePriority (ThreadPriority priority) |
Set the thread's schedule priority. More... | |
int | getSchedulePriority () |
Get the thread's schedule priority (if able) More... | |
int | setSchedulePolicy (ThreadPolicy policy) |
Set the thread's scheduling policy (if able) More... | |
int | getSchedulePolicy () |
Get the thread's policy (if able) More... | |
int | setStackSize (size_t size) |
Set the thread's desired stack size (in bytes). More... | |
size_t | getStackSize () |
Get the thread's desired stack size. More... | |
void | printSchedulingInfo () |
Print the thread's scheduling information to stdout. | |
int | detach () |
Detach the thread from the calling process. More... | |
int | join () |
Join the calling process with the thread. More... | |
int | setCancelModeDisable () |
Disable thread cancellation altogether. More... | |
int | setCancelModeAsynchronous () |
Mark the thread to cancel asynchronously on Thread::cancel(). More... | |
int | setCancelModeDeferred () |
Mark the thread to cancel at the earliest convenience on Thread::cancel() (This is the default) More... | |
bool | isRunning () |
Query the thread's running status. More... | |
virtual void | cancelCleanup () |
Thread's cancel cleanup routine, called upon cancel(), after the cancellation has taken place, but before the thread exits completely. More... | |
void * | getImplementation () |
int | setProcessorAffinity (unsigned int cpunum) |
Thread's processor affinity method. More... | |
Additional Inherited Members | |
![]() | |
enum | ThreadPriority { THREAD_PRIORITY_MAX, THREAD_PRIORITY_HIGH, THREAD_PRIORITY_NOMINAL, THREAD_PRIORITY_LOW, THREAD_PRIORITY_MIN, THREAD_PRIORITY_DEFAULT } |
Enumerated Type for thread priority. More... | |
enum | ThreadPolicy { THREAD_SCHEDULE_FIFO, THREAD_SCHEDULE_ROUND_ROBIN, THREAD_SCHEDULE_TIME_SHARE, THREAD_SCHEDULE_DEFAULT } |
Enumerated Type for thread scheduling policy. More... | |
![]() | |
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... | |
![]() | |
static int | SetConcurrency (int concurrencyLevel) |
Set the concurrency level for a running application. More... | |
static int | GetConcurrency () |
Get the concurrency level for a running application. More... | |
static Thread * | CurrentThread () |
Return a pointer to the current running thread. | |
static void | Init () |
Initialize Threading in a program. More... | |
static int | YieldCurrentThread () |
Yield the processor. More... | |
static ThreadPriority | GetMasterPriority () |
This method will return the ThreadPriority of the master process. More... | |
static int | microSleep (unsigned int microsec) |
microSleep method, equivalent to the posix usleep(microsec). More... | |
![]() | |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
![]() | |
observer_ptr< Object > | _parent |
OpenThreads::Atomic | _done |
OpenThreads::Mutex | _threadMutex |
osg::ref_ptr< OperationQueue > | _operationQueue |
osg::ref_ptr< Operation > | _currentOperation |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
OpenThreads::Mutex * | _refMutex |
int | _refCount |
void * | _observerSet |
GraphicsThread is a helper class for running OpenGL GraphicsOperation within a single thread assigned to a specific GraphicsContext.
|
virtual |
Run does the graphics thread run loop.
Reimplemented from osg::OperationThread.