Public Member Functions | Public Attributes | Private Attributes | List of all members
AABBTreeBuilder Class Referenceabstract

#include <OPC_TreeBuilders.h>

Inheritance diagram for AABBTreeBuilder:
Inheritance graph
[legend]

Public Member Functions

 AABBTreeBuilder ()
 Constructor. More...
 
virtual bool ComputeGlobalBox (const udword *primitives, udword nb_prims, AABB &global_box) const =0
 
inline_ udword GetCount () const
 
inline_ udword GetNbInvalidSplits () const
 
virtual float GetSplittingValue (const udword *primitives, udword nb_prims, const AABB &global_box, udword axis) const
 
virtual float GetSplittingValue (udword index, udword axis) const =0
 
inline_ void IncreaseCount (udword nb)
 
inline_ void IncreaseNbInvalidSplits ()
 
inline_ void SetCount (udword nb)
 
inline_ void SetNbInvalidSplits (udword nb)
 
virtual BOOL ValidateSubdivision (const udword *primitives, udword nb_prims, const AABB &global_box)
 
virtual ~AABBTreeBuilder ()
 Destructor. More...
 

Public Attributes

udword mNbPrimitives
 Total number of primitives. More...
 
voidmNodeBase
 Address of node pool [Opcode 1.3]. More...
 
BuildSettings mSettings
 Splitting rules & split limit [Opcode 1.3]. More...
 

Private Attributes

udword mCount
 Stats: number of nodes created. More...
 
udword mNbInvalidSplits
 Stats: number of invalid splits. More...
 

Detailed Description

Definition at line 47 of file OPC_TreeBuilders.h.

Constructor & Destructor Documentation

◆ AABBTreeBuilder()

AABBTreeBuilder::AABBTreeBuilder ( )
inline

Constructor.

Definition at line 51 of file OPC_TreeBuilders.h.

◆ ~AABBTreeBuilder()

virtual AABBTreeBuilder::~AABBTreeBuilder ( )
inlinevirtual

Destructor.

Definition at line 57 of file OPC_TreeBuilders.h.

Member Function Documentation

◆ ComputeGlobalBox()

virtual bool AABBTreeBuilder::ComputeGlobalBox ( const udword primitives,
udword  nb_prims,
AABB global_box 
) const
pure virtual

Computes the AABB of a set of primitives.

Parameters
primitives[in] list of indices of primitives
nb_prims[in] number of indices
global_box[out] global AABB enclosing the set of input primitives
Returns
true if success

◆ GetCount()

inline_ udword AABBTreeBuilder::GetCount ( ) const
inline

Definition at line 119 of file OPC_TreeBuilders.h.

◆ GetNbInvalidSplits()

inline_ udword AABBTreeBuilder::GetNbInvalidSplits ( ) const
inline

Definition at line 122 of file OPC_TreeBuilders.h.

◆ GetSplittingValue() [1/2]

virtual float AABBTreeBuilder::GetSplittingValue ( const udword primitives,
udword  nb_prims,
const AABB global_box,
udword  axis 
) const
inlinevirtual

Computes the splitting value along a given axis for a given node.

Parameters
primitives[in] list of indices of primitives
nb_prims[in] number of indices
global_box[in] global AABB enclosing the set of input primitives
axis[in] axis index (0,1,2)
Returns
splitting value

Definition at line 90 of file OPC_TreeBuilders.h.

◆ GetSplittingValue() [2/2]

virtual float AABBTreeBuilder::GetSplittingValue ( udword  index,
udword  axis 
) const
pure virtual

Computes the splitting value along a given axis for a given primitive.

Parameters
index[in] index of the primitive to split
axis[in] axis index (0,1,2)
Returns
splitting value

◆ IncreaseCount()

inline_ void AABBTreeBuilder::IncreaseCount ( udword  nb)
inline

Definition at line 118 of file OPC_TreeBuilders.h.

◆ IncreaseNbInvalidSplits()

inline_ void AABBTreeBuilder::IncreaseNbInvalidSplits ( )
inline

Definition at line 121 of file OPC_TreeBuilders.h.

◆ SetCount()

inline_ void AABBTreeBuilder::SetCount ( udword  nb)
inline

Definition at line 117 of file OPC_TreeBuilders.h.

◆ SetNbInvalidSplits()

inline_ void AABBTreeBuilder::SetNbInvalidSplits ( udword  nb)
inline

Definition at line 120 of file OPC_TreeBuilders.h.

◆ ValidateSubdivision()

virtual BOOL AABBTreeBuilder::ValidateSubdivision ( const udword primitives,
udword  nb_prims,
const AABB global_box 
)
inlinevirtual

Validates node subdivision. This is called each time a node is considered for subdivision, during tree building.

Parameters
primitives[in] list of indices of primitives
nb_prims[in] number of indices
global_box[in] global AABB enclosing the set of input primitives
Returns
TRUE if the node should be subdivised

Definition at line 105 of file OPC_TreeBuilders.h.

Member Data Documentation

◆ mCount

udword AABBTreeBuilder::mCount
private

Stats: number of nodes created.

Definition at line 125 of file OPC_TreeBuilders.h.

◆ mNbInvalidSplits

udword AABBTreeBuilder::mNbInvalidSplits
private

Stats: number of invalid splits.

Definition at line 126 of file OPC_TreeBuilders.h.

◆ mNbPrimitives

udword AABBTreeBuilder::mNbPrimitives

Total number of primitives.

Definition at line 114 of file OPC_TreeBuilders.h.

◆ mNodeBase

void* AABBTreeBuilder::mNodeBase

Address of node pool [Opcode 1.3].

Definition at line 115 of file OPC_TreeBuilders.h.

◆ mSettings

BuildSettings AABBTreeBuilder::mSettings

Splitting rules & split limit [Opcode 1.3].

Definition at line 113 of file OPC_TreeBuilders.h.


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


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:05