Open CASCADE Technology 7.8.0
|
Performs construction of BVH tree using bounding boxes (AABBs) of abstract objects. More...
#include <BVH_Builder.hxx>
Public Member Functions | |
virtual void | Build (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const BVH_Box< T, N > &theBox) const =0 |
Builds BVH using specific algorithm. | |
Public Member Functions inherited from BVH_BuilderTransient | |
Standard_Integer | MaxTreeDepth () const |
Returns the maximum depth of constructed BVH. | |
Standard_Integer | LeafNodeSize () const |
Returns the maximum number of sub-elements in the leaf. | |
Standard_Boolean | IsParallel () const |
Returns parallel flag. | |
void | SetParallel (const Standard_Boolean isParallel) |
Set parallel flag contolling possibility of parallel execution. | |
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 Member Functions | |
BVH_Builder (const Standard_Integer theLeafNodeSize, const Standard_Integer theMaxTreeDepth) | |
Creates new abstract BVH builder. | |
void | updateDepth (BVH_Tree< T, N > *theBVH, const Standard_Integer theLevel) const |
Updates depth of constructed BVH tree. | |
Protected Member Functions inherited from BVH_BuilderTransient | |
BVH_BuilderTransient (const Standard_Integer theLeafNodeSize, const Standard_Integer theMaxTreeDepth) | |
Creates new abstract BVH builder. | |
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. | |
Protected Attributes inherited from BVH_BuilderTransient | |
Standard_Integer | myMaxTreeDepth |
Maximum depth of constructed BVH. | |
Standard_Integer | myLeafNodeSize |
Maximum number of objects per leaf. | |
Standard_Boolean | myIsParallel |
Parallel execution flag. | |
Performs construction of BVH tree using bounding boxes (AABBs) of abstract objects.
T | Numeric data type |
N | Vector dimension |
|
inlineprotected |
Creates new abstract BVH builder.
|
pure virtual |
Builds BVH using specific algorithm.
Implemented in BVH_LinearBuilder< T, N >, and BVH_QueueBuilder< T, N >.
|
inlineprotected |
Updates depth of constructed BVH tree.