38 #ifndef FCL_BV_BVNODE_INL_H 39 #define FCL_BV_BVNODE_INL_H 41 #include "fcl/geometry/bvh/BV_node.h" 47 template <
typename BV>
50 return bv.overlap(other.
bv);
54 template <
typename BV>
56 const BVNode& other, Vector3<S>* P1, Vector3<S>* P2)
const 58 return bv.distance(other.
bv, P1, P2);
62 template <
typename BV>
69 template <
typename S,
typename BV>
74 return Matrix3<S>::Identity();
79 template <
typename BV>
89 static Matrix3<S> run(
const OBB<S>& bv)
99 static Matrix3<S> run(
const RSS<S>& bv)
106 template <
typename S>
109 static Matrix3<S> run(
const OBBRSS<S>& bv)
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
bool overlap(const BVNode &other) const
Check whether two BVNode collide.
Definition: BV_node-inl.h:48
Definition: BV_node-inl.h:70
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 dis...
Definition: BV_node-inl.h:55
BV bv
bounding volume storing the geometry
Definition: BV_node.h:57
Matrix3< S > axis
Orientation of OBB. The axes of the rotation matrix are the principle directions of the box...
Definition: OBB.h:62
A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and...
Definition: BV_node.h:52
Oriented bounding box class.
Definition: OBB.h:51
Vector3< S > getCenter() const
Access the center of the BV.
Definition: BV_node-inl.h:63
Matrix3< S > getOrientation() const
Access the orientation of the BV.
Definition: BV_node-inl.h:80