Class SSaPCollisionManager
Defined in File broadphase_SSaP.h
Inheritance Relationships
Base Type
public coal::BroadPhaseCollisionManager
(Class BroadPhaseCollisionManager)
Class Documentation
-
class SSaPCollisionManager : public coal::BroadPhaseCollisionManager
Simple SAP collision manager.
Public Types
-
typedef BroadPhaseCollisionManager Base
Public Functions
-
SSaPCollisionManager()
-
virtual void registerObject(CollisionObject *obj)
remove one object from the manager
-
virtual void unregisterObject(CollisionObject *obj)
add one object to the manager
-
virtual void setup()
initialize the manager, related with the specific type of manager
-
virtual void update()
update the condition of manager
-
virtual void clear()
clear the manager
-
virtual void getObjects(std::vector<CollisionObject*> &objs) const
return the objects managed by the manager
-
virtual void collide(CollisionObject *obj, CollisionCallBackBase *callback) const
perform collision test between one object and all the objects belonging to the manager
-
virtual void distance(CollisionObject *obj, DistanceCallBackBase *callback) const
perform distance computation between one object and all the objects belonging to the manager
-
virtual void collide(CollisionCallBackBase *callback) const
perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
-
virtual void distance(DistanceCallBackBase *callback) const
perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
-
virtual void collide(BroadPhaseCollisionManager *other_manager, CollisionCallBackBase *callback) const
perform collision test with objects belonging to another manager
-
virtual void distance(BroadPhaseCollisionManager *other_manager, DistanceCallBackBase *callback) const
perform distance test with objects belonging to another manager
-
virtual bool empty() const
whether the manager is empty
-
virtual size_t size() const
the number of objects managed by the manager
-
void getObjects(std::vector<CollisionObject*> &objs) const = 0
return the objects managed by the manager
-
inline std::vector<CollisionObject*> getObjects() const
return the objects managed by the manager
Protected Functions
-
bool checkColl(typename std::vector<CollisionObject*>::const_iterator pos_start, typename std::vector<CollisionObject*>::const_iterator pos_end, CollisionObject *obj, CollisionCallBackBase *callback) const
check collision between one object and a list of objects, return value is whether stop is possible
-
bool checkDis(typename std::vector<CollisionObject*>::const_iterator pos_start, typename std::vector<CollisionObject*>::const_iterator pos_end, CollisionObject *obj, DistanceCallBackBase *callback, CoalScalar &min_dist) const
check distance between one object and a list of objects, return value is whether stop is possible
-
bool collide_(CollisionObject *obj, CollisionCallBackBase *callback) const
-
bool distance_(CollisionObject *obj, DistanceCallBackBase *callback, CoalScalar &min_dist) const
Protected Attributes
-
std::vector<CollisionObject*> objs_x
Objects sorted according to lower x value.
-
std::vector<CollisionObject*> objs_y
Objects sorted according to lower y value.
-
std::vector<CollisionObject*> objs_z
Objects sorted according to lower z value.
-
bool setup_
tag about whether the environment is maintained suitably (i.e., the objs_x, objs_y, objs_z are sorted correctly
Protected Static Functions
-
static int selectOptimalAxis(const std::vector<CollisionObject*> &objs_x, const std::vector<CollisionObject*> &objs_y, const std::vector<CollisionObject*> &objs_z, typename std::vector<CollisionObject*>::const_iterator &it_beg, typename std::vector<CollisionObject*>::const_iterator &it_end)
-
typedef BroadPhaseCollisionManager Base