Public Member Functions | Public Attributes | List of all members
hpp::fcl::BVNode< BV > Struct Template Reference

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 <hpp/fcl/BV/BV_node.h>

Inheritance diagram for hpp::fcl::BVNode< BV >:
[legend]
Collaboration diagram for hpp::fcl::BVNode< BV >:
[legend]

Public Member Functions

bool overlap (const BVNode &other) const
 Check whether two BVNode collide. More...
 
bool overlap (const BVNode &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
 Check whether two BVNode collide. More...
 
FCL_REAL distance (const BVNode &other, Vec3f *P1=NULL, Vec3f *P2=NULL) const
 Compute the distance between two BVNode. P1 and P2, if not NULL and the underlying BV supports distance, return the nearest points. More...
 
Vec3f getCenter () const
 Access the center of the BV. More...
 
const Matrix3fgetOrientation () const
 Access the orientation of the BV. More...
 
template<>
const Matrix3fgetOrientation () const
 
template<>
const Matrix3fgetOrientation () const
 
template<>
const Matrix3fgetOrientation () const
 
- Public Member Functions inherited from hpp::fcl::BVNodeBase
bool isLeaf () const
 Whether current node is a leaf node (i.e. contains a primitive index. 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 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 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 hpp::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. More...
 
int num_primitives
 The number of primitives belonging to the current node. More...
 

Detailed Description

template<typename BV>
struct hpp::fcl::BVNode< BV >

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.

Member Function Documentation

template<typename BV>
FCL_REAL hpp::fcl::BVNode< BV >::distance ( const BVNode< BV > &  other,
Vec3f P1 = NULL,
Vec3f P2 = NULL 
) const
inline

Compute the distance between two BVNode. P1 and P2, if not NULL and the underlying BV supports distance, return the nearest points.

Referenced by hpp::fcl::details::DistanceTraversalBVTesting_impl< BV >::run().

template<typename BV>
Vec3f hpp::fcl::BVNode< BV >::getCenter ( ) const
inline

Access the center of the BV.

template<typename BV>
const Matrix3f& hpp::fcl::BVNode< BV >::getOrientation ( ) const
inline

Access the orientation of the BV.

template<>
const Matrix3f & hpp::fcl::BVNode< OBB >::getOrientation ( ) const
inline
template<>
const Matrix3f & hpp::fcl::BVNode< RSS >::getOrientation ( ) const
inline
template<>
const Matrix3f & hpp::fcl::BVNode< OBBRSS >::getOrientation ( ) const
inline
template<typename BV>
bool hpp::fcl::BVNode< BV >::overlap ( const BVNode< BV > &  other) const
inline
template<typename BV>
bool hpp::fcl::BVNode< BV >::overlap ( const BVNode< BV > &  other,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
) const
inline

Check whether two BVNode collide.

Member Data Documentation

template<typename BV>
BV hpp::fcl::BVNode< BV >::bv