OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
osgViewer::Renderer::ThreadSafeQueue Struct Reference

#include <Renderer.h>

Collaboration diagram for osgViewer::Renderer::ThreadSafeQueue:
Collaboration graph
[legend]

Public Types

typedef std::list
< osgUtil::SceneView * > 
SceneViewList
 

Public Member Functions

 ThreadSafeQueue ()
 
 ~ThreadSafeQueue ()
 
void release ()
 
void reset ()
 
osgUtil::SceneViewtakeFront ()
 
void add (osgUtil::SceneView *sv)
 

Public Attributes

OpenThreads::Mutex _mutex
 
OpenThreads::Condition _cond
 
SceneViewList _queue
 
bool _isReleased
 

Detailed Description

Definition at line 93 of file Renderer.h.

Member Typedef Documentation

Definition at line 97 of file Renderer.h.

Constructor & Destructor Documentation

osgViewer::Renderer::ThreadSafeQueue::ThreadSafeQueue ( )
osgViewer::Renderer::ThreadSafeQueue::~ThreadSafeQueue ( )

Member Function Documentation

void osgViewer::Renderer::ThreadSafeQueue::add ( osgUtil::SceneView sv)

Add a SceneView object to the back of the queue.

void osgViewer::Renderer::ThreadSafeQueue::release ( )

Release any thread waiting on the queue, even if the queue is empty.

void osgViewer::Renderer::ThreadSafeQueue::reset ( )

Reset to fefault state (_isReleased = false)

osgUtil::SceneView* osgViewer::Renderer::ThreadSafeQueue::takeFront ( )

Take a SceneView from the queue. Can return 0 if release() is called when the queue is empty.

Member Data Documentation

OpenThreads::Condition osgViewer::Renderer::ThreadSafeQueue::_cond

Definition at line 96 of file Renderer.h.

bool osgViewer::Renderer::ThreadSafeQueue::_isReleased

Definition at line 99 of file Renderer.h.

OpenThreads::Mutex osgViewer::Renderer::ThreadSafeQueue::_mutex

Definition at line 95 of file Renderer.h.

SceneViewList osgViewer::Renderer::ThreadSafeQueue::_queue

Definition at line 98 of file Renderer.h.


The documentation for this struct was generated from the following file: