All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends

fcl::IntervalTreeCollisionManager Class Reference

Collision manager based on interval tree. More...

#include <broadphase_interval_tree.h>

Inheritance diagram for fcl::IntervalTreeCollisionManager:

[legend]
List of all members.

Public Member Functions

 IntervalTreeCollisionManager ()
 ~IntervalTreeCollisionManager ()
void registerObject (CollisionObject *obj)
 remove one object from the manager
void unregisterObject (CollisionObject *obj)
 add one object to the manager
void setup ()
 initialize the manager, related with the specific type of manager
void update ()
 update the condition of manager
void update (CollisionObject *updated_obj)
 update the manager by explicitly given the object updated
void update (const std::vector< CollisionObject * > &updated_objs)
 update the manager by explicitly given the set of objects update
void clear ()
 clear the manager
void getObjects (std::vector< CollisionObject * > &objs) const
 return the objects managed by the manager
void collide (CollisionObject *obj, void *cdata, CollisionCallBack callback) const
 perform collision test between one object and all the objects belonging to the manager
void distance (CollisionObject *obj, void *cdata, DistanceCallBack callback) const
 perform distance computation between one object and all the objects belonging to the manager
void collide (void *cdata, CollisionCallBack callback) const
 perform collision test for the objects belonging to the manager (i.e., N^2 self collision)
void distance (void *cdata, DistanceCallBack callback) const
 perform distance test for the objects belonging to the manager (i.e., N^2 self distance)
void collide (BroadPhaseCollisionManager *other_manager, void *cdata, CollisionCallBack callback) const
 perform collision test with objects belonging to another manager
void distance (BroadPhaseCollisionManager *other_manager, void *cdata, DistanceCallBack callback) const
 perform distance test with objects belonging to another manager
bool empty () const
 whether the manager is empty
size_t size () const
 the number of objects managed by the manager

Protected Member Functions

bool checkColl (std::deque< SimpleInterval * >::const_iterator pos_start, std::deque< SimpleInterval * >::const_iterator pos_end, CollisionObject *obj, void *cdata, CollisionCallBack callback) const
bool checkDist (std::deque< SimpleInterval * >::const_iterator pos_start, std::deque< SimpleInterval * >::const_iterator pos_end, CollisionObject *obj, void *cdata, DistanceCallBack callback, FCL_REAL &min_dist) const
bool collide_ (CollisionObject *obj, void *cdata, CollisionCallBack callback) const
bool distance_ (CollisionObject *obj, void *cdata, DistanceCallBack callback, FCL_REAL &min_dist) const

Protected Attributes

std::vector< EndPointendpoints [3]
 vector stores all the end points
IntervalTreeinterval_trees [3]
 interval tree manages the intervals
std::map< CollisionObject *,
SAPInterval * > 
obj_interval_maps [3]
bool setup_
 tag for whether the interval tree is maintained suitably

Classes

struct  EndPoint
 SAP end point. More...
struct  SAPInterval
 Extention interval tree's interval to SAP interval, adding more information. More...

Detailed Description

Collision manager based on interval tree.

Definition at line 49 of file broadphase_interval_tree.h.


The documentation for this class was generated from the following files: