hpp-fcl
2.4.1
HPP fork of FCL -- The Flexible Collision Library
|
Go to the documentation of this file.
38 #ifndef HPP_FCL_BV_NODE_H
39 #define HPP_FCL_BV_NODE_H
73 (std::numeric_limits<unsigned int>::max)())
90 inline bool isLeaf()
const {
return first_child < 0; }
98 inline int leftChild()
const {
return first_child; }
108 template <
typename BV>
117 return Base::operator==(other) && bv == other.
bv;
127 FCL_REAL& sqrDistLowerBound)
const {
128 return bv.overlap(other.
bv, request, sqrDistLowerBound);
134 Vec3f* P2 = NULL)
const {
135 return bv.distance(other.
bv, P1, P2);
143 static const Matrix3f id3 = Matrix3f::Identity();
148 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
#define HPP_FCL_DLLAPI
Definition: config.hh:88
bool operator==(const BVNode &other) const
Equality operator.
Definition: BV_node.h:116
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition: data_types.h:66
unsigned int num_primitives
The number of primitives belonging to the current node.
Definition: BV_node.h:67
bool isLeaf() const
Whether current node is a leaf node (i.e. contains a primitive index.
Definition: BV_node.h:90
BVNodeBase Base
Definition: BV_node.h:110
int rightChild() const
Return the index of the second child. The index is referred to the bounding volume array (i....
Definition: BV_node.h:102
bool operator==(const BVNodeBase &other) const
Equality operator.
Definition: BV_node.h:79
BVNodeBase encodes the tree structure for BVH.
Definition: BV_node.h:54
double FCL_REAL
Definition: data_types.h:65
BV bv
bounding volume storing the geometry
Definition: BV_node.h:113
bool operator!=(const BVNode &other) const
Difference operator.
Definition: BV_node.h:121
const Matrix3f & getOrientation() const
Access to the orientation of the BV.
Definition: BV_node.h:142
Vec3f getCenter() const
Access to the center of the BV.
Definition: BV_node.h:139
A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and...
Definition: BV_node.h:109
Main namespace.
Definition: broadphase_bruteforce.h:44
request to the collision algorithm
Definition: collision_data.h:235
bool operator!=(const BVNodeBase &other) const
Difference operator.
Definition: BV_node.h:86
bool overlap(const BVNode &other) const
Check whether two BVNode collide.
Definition: BV_node.h:124
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
Definition: data_types.h:68
bool overlap(const BVNode &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
Check whether two BVNode collide.
Definition: BV_node.h:126
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 distan...
Definition: BV_node.h:133
int leftChild() const
Return the index of the first child. The index is referred to the bounding volume array (i....
Definition: BV_node.h:98
int primitiveId() const
Return the primitive index. The index is referred to the original data (i.e. vertices or tri_indices)...
Definition: BV_node.h:94
unsigned int first_primitive
The start id the primitive belonging to the current node. The index is referred to the primitive_indi...
Definition: BV_node.h:64
int first_child
An index for first child node or primitive If the value is positive, it is the index of the first chi...
Definition: BV_node.h:59
BVNodeBase()
Default constructor.
Definition: BV_node.h:70