Open CASCADE Technology 7.8.2.dev
BVH_BuildQueue Class Reference

Command-queue for parallel building of BVH nodes. More...

#include <BVH_BuildQueue.hxx>

Public Member Functions

 BVH_BuildQueue ()
 Creates new BVH build queue.
 
 ~BVH_BuildQueue ()
 Releases resources of BVH build queue.
 
Standard_Integer Size ()
 Returns current size of BVH build queue.
 
void Enqueue (const Standard_Integer &theNode)
 Enqueues new work-item onto BVH build queue.
 
Standard_Integer Fetch (Standard_Boolean &wasBusy)
 Fetches first work-item from BVH build queue.
 
Standard_Boolean HasBusyThreads ()
 Checks if there are active build threads.
 

Protected Attributes

NCollection_Sequence< Standard_IntegermyQueue
 Queue of BVH nodes to build.
 
Standard_Mutex myMutex
 Manages access serialization of working threads.
 
Standard_Integer myNbThreads
 Number of active build threads.
 

Detailed Description

Command-queue for parallel building of BVH nodes.

Constructor & Destructor Documentation

◆ BVH_BuildQueue()

BVH_BuildQueue::BVH_BuildQueue ( )
inline

Creates new BVH build queue.

◆ ~BVH_BuildQueue()

BVH_BuildQueue::~BVH_BuildQueue ( )
inline

Releases resources of BVH build queue.

Member Function Documentation

◆ Enqueue()

void BVH_BuildQueue::Enqueue ( const Standard_Integer & theNode)

Enqueues new work-item onto BVH build queue.

◆ Fetch()

Standard_Integer BVH_BuildQueue::Fetch ( Standard_Boolean & wasBusy)

Fetches first work-item from BVH build queue.

◆ HasBusyThreads()

Standard_Boolean BVH_BuildQueue::HasBusyThreads ( )
inline

Checks if there are active build threads.

◆ Size()

Standard_Integer BVH_BuildQueue::Size ( )

Returns current size of BVH build queue.

Field Documentation

◆ myMutex

Standard_Mutex BVH_BuildQueue::myMutex
protected

Manages access serialization of working threads.

◆ myNbThreads

Standard_Integer BVH_BuildQueue::myNbThreads
protected

Number of active build threads.

◆ myQueue

NCollection_Sequence<Standard_Integer> BVH_BuildQueue::myQueue
protected

Queue of BVH nodes to build.


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