coal  3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
coal::HFNode< BV > Struct Template Reference

#include <coal/hfield.h>

Inheritance diagram for coal::HFNode< BV >:
Collaboration diagram for coal::HFNode< BV >:

Public Member Functions

bool operator== (const HFNode &other) const
 Equality operator. More...
 
bool operator!= (const HFNode &other) const
 Difference operator. More...
 
bool overlap (const HFNode &other) const
 Check whether two BVNode collide. More...
 
bool overlap (const HFNode &other, const CollisionRequest &request, Scalar &sqrDistLowerBound) const
 Check whether two BVNode collide. More...
 
Scalar distance (const HFNode &other, Vec3s *P1=NULL, Vec3s *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...
 
Vec3s getCenter () const
 Access to the center of the BV. More...
 
coal::Matrix3s::IdentityReturnType getOrientation () const
 Access to the orientation of the BV. More...
 
virtual ~HFNode ()
 
- Public Member Functions inherited from coal::HFNodeBase
 HFNodeBase ()
 Default constructor. More...
 
bool operator== (const HFNodeBase &other) const
 Comparison operator. More...
 
bool operator!= (const HFNodeBase &other) const
 Difference operator. More...
 
bool isLeaf () const
 Whether current node is a leaf node (i.e. contains a primitive index) More...
 
size_t leftChild () const
 Return the index of the first child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel. More...
 
size_t rightChild () const
 Return the index of the second child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel. More...
 
Eigen::Vector2i leftChildIndexes () const
 
Eigen::Vector2i rightChildIndexes () const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef HFNodeBase Base
 
BV bv
 bounding volume storing the geometry More...
 
- Public Attributes inherited from coal::HFNodeBase
size_t 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...
 
Eigen::DenseIndex x_id
 
Eigen::DenseIndex x_size
 
Eigen::DenseIndex y_id
 
Eigen::DenseIndex y_size
 
Scalar max_height
 
int contact_active_faces
 

Additional Inherited Members

- Public Types inherited from coal::HFNodeBase
enum class  FaceOrientation {
  TOP = 1 , BOTTOM = 1 , NORTH = 2 , EAST = 4 ,
  SOUTH = 8 , WEST = 16
}
 

Constructor & Destructor Documentation

◆ ~HFNode()

template<typename BV >
virtual coal::HFNode< BV >::~HFNode ( )
inlinevirtual

Member Function Documentation

◆ distance()

template<typename BV >
Scalar coal::HFNode< BV >::distance ( const HFNode< BV > &  other,
Vec3s P1 = NULL,
Vec3s 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.

◆ getCenter()

template<typename BV >
Vec3s coal::HFNode< BV >::getCenter ( ) const
inline

Access to the center of the BV.

◆ getOrientation()

template<typename BV >
coal::Matrix3s::IdentityReturnType coal::HFNode< BV >::getOrientation ( ) const
inline

Access to the orientation of the BV.

◆ operator!=()

template<typename BV >
bool coal::HFNode< BV >::operator!= ( const HFNode< BV > &  other) const
inline

Difference operator.

◆ operator==()

template<typename BV >
bool coal::HFNode< BV >::operator== ( const HFNode< BV > &  other) const
inline

Equality operator.

◆ overlap() [1/2]

template<typename BV >
bool coal::HFNode< BV >::overlap ( const HFNode< BV > &  other) const
inline

Check whether two BVNode collide.

◆ overlap() [2/2]

template<typename BV >
bool coal::HFNode< BV >::overlap ( const HFNode< BV > &  other,
const CollisionRequest request,
Scalar sqrDistLowerBound 
) const
inline

Check whether two BVNode collide.

Member Data Documentation

◆ Base

template<typename BV >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef HFNodeBase coal::HFNode< BV >::Base

◆ bv

template<typename BV >
BV coal::HFNode< BV >::bv

bounding volume storing the geometry


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