| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
Class defining a thread pool for building BVH for the list of Select3D_SensitiveEntity within background thread(s). More...
#include <SelectMgr_BVHThreadPool.hxx>

Data Structures | |
| class | BVHThread | 
| Thread with back reference to thread pool and thread mutex in it.  More... | |
| class | Sentry | 
| Class providing a simple interface to mutexes for list of BVHThread.  More... | |
Public Member Functions | |
| SelectMgr_BVHThreadPool (Standard_Integer theNbThreads) | |
| Main constructor.   | |
| virtual | ~SelectMgr_BVHThreadPool () | 
| Destructor.   | |
| void | AddEntity (const Handle< Select3D_SensitiveEntity > &theEntity) | 
| Queue a sensitive entity to build its BVH.   | |
| void | StopThreads () | 
| Stops threads.   | |
| void | WaitThreads () | 
| Waits for all threads finish their jobs.   | |
| NCollection_Array1< BVHThread > & | Threads () | 
| Returns array of threads.   | |
  Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor.   | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing.   | |
| Standard_Transient & | operator= (const Standard_Transient &) | 
| Assignment operator, needed to avoid copying reference counter.   | |
| virtual | ~Standard_Transient () | 
| Destructor must be virtual.   | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const | 
| Returns a type descriptor about this object.   | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const | 
| Returns a true value if this is an instance of Type.   | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const | 
| Returns a true value if this is an instance of TypeName.   | |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const | 
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const | 
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Transient * | This () const | 
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.   | |
| Standard_Integer | GetRefCount () const noexcept | 
| Get the reference counter of this object.   | |
| void | IncrementRefCounter () noexcept | 
| Increments the reference counter of this object.   | |
| Standard_Integer | DecrementRefCounter () noexcept | 
| Decrements the reference counter of this object; returns the decremented value.   | |
| virtual void | Delete () const | 
| Memory deallocator for transient classes.   | |
Protected Attributes | |
| NCollection_List< Handle< Select3D_SensitiveEntity > > | myBVHToBuildList | 
| list of queued sensitive entities   | |
| NCollection_Array1< BVHThread > | myBVHThreads | 
| threads to build BVH   | |
| Standard_Boolean | myToStopBVHThread | 
| flag to stop BVH threads   | |
| Standard_Mutex | myBVHListMutex | 
| mutex for interaction with myBVHToBuildList   | |
| Standard_Condition | myWakeEvent | 
| raises when any sensitive is added to the BVH list   | |
| Standard_Condition | myIdleEvent | 
| raises when BVH list become empty   | |
| Standard_Boolean | myIsStarted | 
| indicates that threads are running   | |
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| typedef void | base_type | 
| Returns a type descriptor about this object.   | |
  Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () | 
| Returns a type descriptor about this object.   | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () | 
| Returns type descriptor of Standard_Transient class.   | |
Class defining a thread pool for building BVH for the list of Select3D_SensitiveEntity within background thread(s).
| SelectMgr_BVHThreadPool::SelectMgr_BVHThreadPool | ( | Standard_Integer | theNbThreads | ) | 
Main constructor.
      
  | 
  virtual | 
Destructor.
| void SelectMgr_BVHThreadPool::AddEntity | ( | const Handle< Select3D_SensitiveEntity > & | theEntity | ) | 
Queue a sensitive entity to build its BVH.
| void SelectMgr_BVHThreadPool::StopThreads | ( | ) | 
Stops threads.
      
  | 
  inline | 
Returns array of threads.
| void SelectMgr_BVHThreadPool::WaitThreads | ( | ) | 
Waits for all threads finish their jobs.
      
  | 
  protected | 
mutex for interaction with myBVHToBuildList
      
  | 
  protected | 
threads to build BVH
      
  | 
  protected | 
list of queued sensitive entities
      
  | 
  protected | 
raises when BVH list become empty
      
  | 
  protected | 
indicates that threads are running
      
  | 
  protected | 
flag to stop BVH threads
      
  | 
  protected | 
raises when any sensitive is added to the BVH list