38 #ifndef FCL_BROAD_PHASE_INTERVAL_TREE_H 39 #define FCL_BROAD_PHASE_INTERVAL_TREE_H 134 std::vector<EndPoint> endpoints[3];
139 std::map<CollisionObject<S>*, SAPInterval*> obj_interval_maps[3];
149 template <
typename S>
161 bool operator<(
const EndPoint &p)
const;
165 template <
typename S>
bool setup_
tag for whether the interval tree is maintained suitably
S distance(const Eigen::MatrixBase< DerivedA > &R0, const Eigen::MatrixBase< DerivedB > &T0, const kIOS< S > &b1, const kIOS< S > &b2, Vector3< S > *P, Vector3< S > *Q)
Approximate distance between two kIOS bounding volumes.
char minmax
tag for whether it is a lower bound or higher bound of an interval, 0 for lo, and 1 for hi ...
bool(*)(CollisionObject< S > *o1, CollisionObject< S > *o2, void *cdata) CollisionCallBack
Callback for collision between two objects. Return value is whether can stop now. ...
Interval trees implemented using red-black-trees as described in the book Introduction_To_Algorithms_...
template FCL_EXPORT std::size_t collide(const CollisionObject< double > *o1, const CollisionObject< double > *o2, const CollisionRequest< double > &request, CollisionResult< double > &result)
bool(*)(CollisionObject< S > *o1, CollisionObject< S > *o2, void *cdata, S &dist) DistanceCallBack
Callback for distance between two objects, Return value is whether can stop now, also return the mini...
CollisionObject< S > * obj
object related with the end point
the object for collision or distance computation, contains the geometry and the transform information...
Collision manager based on interval tree.
Base class for broad phase collision. It helps to accelerate the collision/distance between N objects...
CollisionObject< S > * obj
object