|
| BVH_SpatialMedianBuilder (const Standard_Integer theLeafNodeSize=BVH_Constants_LeafNodeSizeDefault, const Standard_Integer theMaxTreeDepth=BVH_Constants_MaxTreeDepth, const Standard_Boolean theToUseMainAxis=Standard_False) |
| Creates spatial median split builder.
|
|
virtual | ~BVH_SpatialMedianBuilder () |
| Releases resources of spatial median split builder.
|
|
| BVH_BinnedBuilder (const Standard_Integer theLeafNodeSize=BVH_Constants_LeafNodeSizeDefault, const Standard_Integer theMaxTreeDepth=BVH_Constants_MaxTreeDepth, const Standard_Boolean theDoMainSplits=Standard_False, const Standard_Integer theNumOfThreads=1) |
| Creates binned SAH BVH builder.
|
|
virtual | ~BVH_BinnedBuilder () |
| Releases resources of binned SAH BVH builder.
|
|
| BVH_QueueBuilder (const Standard_Integer theLeafNodeSize, const Standard_Integer theMaxTreeDepth, const Standard_Integer theNumOfThreads=1) |
| Creates new BVH queue based builder.
|
|
virtual | ~BVH_QueueBuilder () |
| Releases resources of BVH queue based builder.
|
|
virtual void | Build (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const BVH_Box< T, N > &theBox) const override |
| Builds BVH using specific algorithm.
|
|
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.
|
|
|
typedef BVH_Bin< T, N > | BVH_BinVector[Bins] |
| Type of the array of bins of BVH tree node.
|
|
typedef BVH_SplitPlane | BVH_SplitPlanes[Bins+1] |
| Type of the array of split plane candidates.
|
|
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.
|
|
virtual BVH_QueueBuilder< T, N >::BVH_ChildNodes | buildNode (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const Standard_Integer theNode) const override |
| Performs splitting of the given BVH node.
|
|
virtual void | getSubVolumes (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const Standard_Integer theNode, BVH_BinVector &theBins, const Standard_Integer theAxis) const |
| Arranges node primitives into bins.
|
|
virtual void | addChildren (BVH_Tree< T, N > *theBVH, BVH_BuildQueue &theBuildQueue, const Standard_Integer theNode, const BVH_ChildNodes &theSubNodes) const |
| Processes child nodes of the split BVH node.
|
|
| 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.
|
|
| BVH_BuilderTransient (const Standard_Integer theLeafNodeSize, const Standard_Integer theMaxTreeDepth) |
| Creates new abstract BVH builder.
|
|
Standard_Integer | myNumOfThreads |
| Number of threads used to build BVH.
|
|
Standard_Integer | myMaxTreeDepth |
| Maximum depth of constructed BVH.
|
|
Standard_Integer | myLeafNodeSize |
| Maximum number of objects per leaf.
|
|
Standard_Boolean | myIsParallel |
| Parallel execution flag.
|
|
template<class T, int N>
class BVH_SpatialMedianBuilder< T, N >
Performs building of BVH tree using spatial median split algorithm.