Go to the documentation of this file.
38 #ifndef COAL_BROAD_PHASE_SAP_H
39 #define COAL_BROAD_PHASE_SAP_H
52 using Base::getObjects;
59 void registerObjects(
const std::vector<CollisionObject*>& other_objs);
71 virtual void update();
77 void update(
const std::vector<CollisionObject*>& updated_objs);
83 void getObjects(std::vector<CollisionObject*>& objs)
const;
149 const Vec3s& getVal()
const;
167 bool operator==(
const SaPPair& other)
const;
177 bool operator()(
const SaPPair& pair)
const;
189 bool operator()(
const SaPPair& pair);
192 void update_(
SaPAABB* updated_aabb);
200 std::vector<EndPoint*> velist[3];
217 void addToOverlapPairs(
const SaPPair& p);
219 void removeFromOverlapPairs(
const SaPPair& p);
SAP interval for one object.
Eigen::Matrix< CoalScalar, 3, 1 > Vec3s
EndPoint * lo
lower bound end point of the interval
SaPAABB * aabb
back pointer to SAP interval
std::list< SaPAABB * > AABB_arr
SAP interval list.
A pair of objects that are not culling away and should further check collision.
BroadPhaseCollisionManager Base
Base class for broad phase collision. It helps to accelerate the collision/distance between N objects...
Functor to help unregister one object.
COAL_DLLAPI CoalScalar distance(const Matrix3s &R0, const Vec3s &T0, const kIOS &b1, const kIOS &b2, Vec3s *P=NULL, Vec3s *Q=NULL)
Approximate distance between two kIOS bounding volumes.
AABB cached
cached AABB value
EndPoint * hi
higher bound end point of the interval
A class describing the AABB collision structure, which is a box in 3D space determined by two diagona...
CollisionObject * obj
object
Base callback class for distance queries. This class can be supersed by child classes to provide desi...
the object for collision or distance computation, contains the geometry and the transform information
End point for an interval.
std::map< CollisionObject *, SaPAABB * > obj_aabb_map
std::list< SaPPair > overlap_pairs
The pair of objects that should further check for collision.
char minmax
tag for whether it is a lower bound or higher bound of an interval, 0 for lo, and 1 for hi
COAL_DLLAPI std::size_t collide(const CollisionObject *o1, const CollisionObject *o2, const CollisionRequest &request, CollisionResult &result)
Main collision interface: given two collision objects, and the requirements for contacts,...
Base callback class for collision queries. This class can be supersed by child classes to provide des...
Functor to help remove collision pairs no longer valid (i.e., should be culled away)
Rigorous SAP collision manager.
hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:57