#include <raybuffer.h>
Public Member Functions | |
| RayBufferSingleQueue () | |
| ~RayBufferSingleQueue () | |
| void | Clear () |
| size_t | GetSize () |
| void | Push (RayBuffer *rayBuffer) |
| RayBuffer * | Pop () |
| void | Pop3x (RayBuffer **rayBuffer0, RayBuffer **rayBuffer1, RayBuffer **rayBuffer2) |
| void | Push (RayBuffer *rayBuffer, const unsigned int queueIndex) |
| RayBuffer * | Pop (const unsigned int queueIndex) |
| void | Push (RayBuffer *rayBuffer, const unsigned int queueIndex, const unsigned int queueProgressive) |
| RayBuffer * | Pop (const unsigned int queueIndex, const unsigned int queueProgressive) |
Private Attributes | |
| boost::mutex | queueMutex |
| boost::condition_variable | condition |
| std::deque< RayBuffer * > | queue |
Definition at line 152 of file raybuffer.h.
| luxrays::RayBufferSingleQueue::RayBufferSingleQueue | ( | ) | [inline] |
Definition at line 154 of file raybuffer.h.
| luxrays::RayBufferSingleQueue::~RayBufferSingleQueue | ( | ) | [inline] |
Definition at line 157 of file raybuffer.h.
| void luxrays::RayBufferSingleQueue::Clear | ( | ) | [inline] |
Definition at line 160 of file raybuffer.h.
References queue, and queueMutex.
Referenced by luxrays::RayBufferQueueM2M::Clear(), luxrays::RayBufferQueueM2O::Clear(), luxrays::RayBufferQueueO2O::Clear(), and luxrays::NativeThreadIntersectionDevice::Stop().
| size_t luxrays::RayBufferSingleQueue::GetSize | ( | ) | [inline] |
Definition at line 166 of file raybuffer.h.
References queue, and queueMutex.
Referenced by luxrays::RayBufferQueueM2M::GetSizeDone(), luxrays::RayBufferQueueM2O::GetSizeDone(), luxrays::RayBufferQueueO2O::GetSizeDone(), luxrays::RayBufferQueueM2M::GetSizeToDo(), luxrays::RayBufferQueueM2O::GetSizeToDo(), and luxrays::RayBufferQueueO2O::GetSizeToDo().
| RayBuffer* luxrays::RayBufferSingleQueue::Pop | ( | const unsigned int | queueIndex, | |
| const unsigned int | queueProgressive | |||
| ) | [inline] |
Definition at line 273 of file raybuffer.h.
References condition, luxrays::RayBuffer::PopUserData(), queue, and queueMutex.
| RayBuffer* luxrays::RayBufferSingleQueue::Pop | ( | const unsigned int | queueIndex | ) | [inline] |
Definition at line 239 of file raybuffer.h.
References condition, luxrays::RayBuffer::PopUserData(), queue, and queueMutex.
| RayBuffer* luxrays::RayBufferSingleQueue::Pop | ( | ) | [inline] |
Definition at line 183 of file raybuffer.h.
References condition, queue, and queueMutex.
Referenced by luxrays::RayBufferQueueM2M::PopDone(), luxrays::RayBufferQueueM2O::PopDone(), luxrays::RayBufferQueueO2O::PopDone(), luxrays::NativeThreadIntersectionDevice::PopRayBuffer(), luxrays::RayBufferQueueM2M::PopToDo(), luxrays::RayBufferQueueM2O::PopToDo(), and luxrays::RayBufferQueueO2O::PopToDo().
| void luxrays::RayBufferSingleQueue::Pop3x | ( | RayBuffer ** | rayBuffer0, | |
| RayBuffer ** | rayBuffer1, | |||
| RayBuffer ** | rayBuffer2 | |||
| ) | [inline] |
Definition at line 196 of file raybuffer.h.
References condition, queue, and queueMutex.
Referenced by luxrays::RayBufferQueueM2M::Pop3xToDo(), luxrays::RayBufferQueueM2O::Pop3xToDo(), and luxrays::RayBufferQueueO2O::Pop3xToDo().
| void luxrays::RayBufferSingleQueue::Push | ( | RayBuffer * | rayBuffer, | |
| const unsigned int | queueIndex, | |||
| const unsigned int | queueProgressive | |||
| ) | [inline] |
Definition at line 261 of file raybuffer.h.
References condition, luxrays::RayBuffer::PushUserData(), queue, and queueMutex.
| void luxrays::RayBufferSingleQueue::Push | ( | RayBuffer * | rayBuffer, | |
| const unsigned int | queueIndex | |||
| ) | [inline] |
Definition at line 229 of file raybuffer.h.
References condition, luxrays::RayBuffer::PushUserData(), queue, and queueMutex.
| void luxrays::RayBufferSingleQueue::Push | ( | RayBuffer * | rayBuffer | ) | [inline] |
Definition at line 174 of file raybuffer.h.
References condition, queue, and queueMutex.
Referenced by luxrays::RayBufferQueueM2M::PushDone(), luxrays::RayBufferQueueM2O::PushDone(), luxrays::RayBufferQueueO2O::PushDone(), luxrays::NativeThreadIntersectionDevice::PushRayBuffer(), luxrays::RayBufferQueueM2M::PushToDo(), luxrays::RayBufferQueueM2O::PushToDo(), and luxrays::RayBufferQueueO2O::PushToDo().
boost::condition_variable luxrays::RayBufferSingleQueue::condition [private] |
Definition at line 297 of file raybuffer.h.
std::deque<RayBuffer *> luxrays::RayBufferSingleQueue::queue [private] |
boost::mutex luxrays::RayBufferSingleQueue::queueMutex [private] |
1.6.3