A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and also the geometry data provided in BV template parameter. More...
#include <BV_node.h>
Public Types | |
using | S = typename BV::S |
Public Member Functions | |
S | distance (const BVNode &other, Vector3< S > *P1=nullptr, Vector3< S > *P2=nullptr) const |
Compute the distance between two BVNode. P1 and P2, if not nullptr and the underlying BV supports distance, return the nearest points. More... | |
Vector3< S > | getCenter () const |
Access the center of the BV. More... | |
Matrix3< S > | getOrientation () const |
Access the orientation of the BV. More... | |
bool | overlap (const BVNode &other) const |
Check whether two BVNode collide. More... | |
Public Member Functions inherited from fcl::BVNodeBase | |
bool | isLeaf () const |
Whether current node is a leaf node (i.e. contains a primitive index. More... | |
int | leftChild () const |
Return the index of the first child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel. More... | |
int | primitiveId () const |
Return the primitive index. The index is referred to the original data (i.e. vertices or tri_indices) in BVHModel. More... | |
int | rightChild () const |
Return the index of the second child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel. More... | |
Public Attributes | |
BV | bv |
bounding volume storing the geometry More... | |
Public Attributes inherited from fcl::BVNodeBase | |
int | first_child |
An index for first child node or primitive If the value is positive, it is the index of the first child bv node If the value is negative, it is -(primitive index + 1) Zero is not used. More... | |
int | first_primitive |
The start id the primitive belonging to the current node. The index is referred to the primitive_indices in BVHModel and from that we can obtain the primitive's index in original data indirectly. More... | |
int | num_primitives |
The number of primitives belonging to the current node. More... | |
A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and also the geometry data provided in BV template parameter.
using fcl::BVNode< BV >::S = typename BV::S |
BVNode< BV >::S fcl::BVNode< BV >::distance | ( | const BVNode< BV > & | other, |
Vector3< S > * | P1 = nullptr , |
||
Vector3< S > * | P2 = nullptr |
||
) | const |
Compute the distance between two BVNode. P1 and P2, if not nullptr and the underlying BV supports distance, return the nearest points.
Definition at line 55 of file BV_node-inl.h.
Vector3< typename BVNode< BV >::S > fcl::BVNode< BV >::getCenter |
Access the center of the BV.
Definition at line 63 of file BV_node-inl.h.
Matrix3< typename BV::S > fcl::BVNode< BV >::getOrientation |
Access the orientation of the BV.
Definition at line 80 of file BV_node-inl.h.
bool fcl::BVNode< BV >::overlap | ( | const BVNode< BV > & | other | ) | const |
Check whether two BVNode collide.
Definition at line 48 of file BV_node-inl.h.
BV fcl::BVNode< BV >::bv |