All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 fcl::BVNode< BV >:
Collaboration diagram for fcl::BVNode< BV >:

Public Member Functions

bool overlap (const BVNode &other) const
 Check whether two BVNode collide. More...
 
bool overlap (const BVNode &other, 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...
 
Matrix3f getOrientation () const
 Access the orientation of the BV. More...
 
template<>
Matrix3f getOrientation () const
 
template<>
Matrix3f getOrientation () const
 
template<>
Matrix3f getOrientation () const
 
- 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 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 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 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 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.

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

Access the center of the BV.

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

Access the orientation of the BV.

template<>
Matrix3f fcl::BVNode< OBB >::getOrientation ( ) const
inline
template<>
Matrix3f fcl::BVNode< RSS >::getOrientation ( ) const
inline
template<>
Matrix3f fcl::BVNode< OBBRSS >::getOrientation ( ) const
inline
template<typename BV>
bool fcl::BVNode< BV >::overlap ( const BVNode< BV > &  other) const
inline

Check whether two BVNode collide.

template<typename BV>
bool fcl::BVNode< BV >::overlap ( const BVNode< BV > &  other,
FCL_REAL sqrDistLowerBound 
) const
inline

Check whether two BVNode collide.

Member Data Documentation