|
Collision Checker
|
ShapeGroup can contain simple shapes. More...
#include <shape_group.h>
Public Member Functions | |
| virtual const ISolverEntity_FCL * | getFclInterface () const override |
| virtual FCL_COLLISION_ENTITY_TYPE | getFclEntityType (void) const |
| int | getCollisionObjects (std::vector< fcl::CollisionObject< FCL_PRECISION > *> &obj_vec) const override |
| virtual CollisionObjectType | getCollisionObjectType () const |
| CollisionObjectClass | getCollisionObjectClass () const |
| std::shared_ptr< const collision::RectangleAABB > | getAABB () const |
| ShapeGroupConstPtr | windowQuery (collision::RectangleAABBConstPtr aabb) const |
| ShapeGroup () | |
| virtual | ~ShapeGroup () |
| void | toString (std::ostringstream &stream) const |
| bool | rayTrace (const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect) const |
| int | elementCount (void) const |
| Returns count of contained objects. More... | |
| std::vector< std::set< int > > | overlapMap (const ShapeGroup &sg) const |
| Returns lists of all objects from the other ShapeGroup that collide with each object of this ShapeGroup. More... | |
| std::vector< std::pair< int, int > > | overlap (const ShapeGroup &sg) const |
| Returns Vector of pairs of indexes of the intersecting objects within the ShapeGroup and another ShapeGroup. More... | |
| virtual void | print (std::ostringstream &stream) const |
| virtual CollisionObjectConstPtr | timeSlice (int time_idx, CollisionObjectConstPtr shared_ptr_this) const |
| void | addToGroup (ShapeConstPtr shape) |
| Adds a simple shape to the ShapeGroup. More... | |
| std::vector< ShapeConstPtr > | unpack () const |
| Returns Vector of all shapes contained inside the ShapeGroup. More... | |
| const ICollisionContainer * | getContainerInterface (void) const override |
| virtual void | addParentMap (std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &parent_map) const |
| virtual void | addParentMap (std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &parent_map, CollisionObjectConstPtr parent) const |
| int | queryContainedObjectIndexList (const CollisionObject *, std::list< int > &retlist) const override |
Public Member Functions inherited from collision::CollisionObjectEx | |
| CollisionObjectEx () | |
| virtual | ~CollisionObjectEx () |
| virtual bool | collide (const CollisionObject &c, const collision::CollisionRequest &req=CollisionRequest()) const |
| virtual bool | BVCheck (CollisionObjectConstPtr obj2) const |
| virtual int | getSolverEntity (solvers::solverFCL::SolverEntity_FCL *&ptr) const |
| virtual int | getSolverEntity (solvers::solverBoost::SolverEntity_Boost *&ptr) const |
| virtual const solvers::solverBoost::ISolverEntity_Boost * | getBoostInterface (void) const |
Public Member Functions inherited from collision::CollisionObject | |
| virtual | ~CollisionObject () |
Public Member Functions inherited from collision::ICollisionContainer | |
| ICollisionContainer () | |
| virtual | ~ICollisionContainer () |
Public Member Functions inherited from collision::solvers::solverFCL::ISolverEntity_FCL | |
| virtual | ~ISolverEntity_FCL (void) |
Additional Inherited Members | |
Protected Member Functions inherited from collision::CollisionObjectEx | |
| void | invalidateCollisionEntityCache (void) |
ShapeGroup can contain simple shapes.
The benefit of grouping objects in the ShapeGroup is that a broadphase structure is built for efficient filtering of candidate objects for the collision
Definition at line 33 of file shape_group.h.
|
inline |
Definition at line 63 of file shape_group.h.
|
inlinevirtual |
Definition at line 65 of file shape_group.h.
|
virtual |
Reimplemented from collision::CollisionObject.
Definition at line 198 of file shape_group.cc.
|
virtual |
Reimplemented from collision::CollisionObject.
Definition at line 189 of file shape_group.cc.
| void collision::ShapeGroup::addToGroup | ( | ShapeConstPtr | shape | ) |
Adds a simple shape to the ShapeGroup.
The accelerator structure for collision candidates filtering is temporarily destroyed.
| [in] | shape | Shape to be added |
Definition at line 176 of file shape_group.cc.
|
virtual |
Returns count of contained objects.
Implements collision::solvers::solverFCL::IFCLCollisionObjectGroup.
Definition at line 91 of file shape_group.cc.
|
virtual |
Reimplemented from collision::CollisionObjectEx.
Definition at line 21 of file shape_group.cc.
|
inlinevirtual |
Reimplemented from collision::CollisionObject.
Definition at line 55 of file shape_group.h.
|
overridevirtual |
Implements collision::solvers::solverFCL::IFCLCollisionObjectGroup.
Definition at line 47 of file shape_group.cc.
|
inlinevirtual |
Reimplemented from collision::CollisionObject.
Definition at line 52 of file shape_group.h.
|
inlineoverridevirtual |
Reimplemented from collision::CollisionObjectEx.
Definition at line 87 of file shape_group.h.
|
inlinevirtual |
Reimplemented from collision::solvers::solverFCL::IFCLCollisionObjectGroup.
Definition at line 45 of file shape_group.h.
|
inlineoverridevirtual |
Reimplemented from collision::CollisionObjectEx.
Definition at line 41 of file shape_group.h.
| std::vector< std::pair< int, int > > collision::ShapeGroup::overlap | ( | const ShapeGroup & | sg | ) | const |
Returns Vector of pairs of indexes of the intersecting objects within the ShapeGroup and another ShapeGroup.
| [in] | sg | - second ShapeGroup for the intersection test |
Definition at line 111 of file shape_group.cc.
| std::vector< std::set< int > > collision::ShapeGroup::overlapMap | ( | const ShapeGroup & | sg | ) | const |
Returns lists of all objects from the other ShapeGroup that collide with each object of this ShapeGroup.
| [in] | sg | - second ShapeGroup for the intersection test |
The output vector has as many elements as this ShapeGroup contains. Each element of the output vector is a set of indexes of all objects of the second ShapeGroup that collide with the object corresponding to the element.
Definition at line 73 of file shape_group.cc.
|
virtual |
Reimplemented from collision::CollisionObject.
Definition at line 148 of file shape_group.cc.
|
overridevirtual |
Implements collision::ICollisionContainer.
Definition at line 137 of file shape_group.cc.
|
virtual |
Reimplemented from collision::CollisionObject.
Definition at line 93 of file shape_group.cc.
|
virtual |
Implements collision::CollisionObject.
Definition at line 159 of file shape_group.cc.
|
virtual |
Reimplemented from collision::CollisionObject.
Definition at line 150 of file shape_group.cc.
| std::vector< ShapeConstPtr > collision::ShapeGroup::unpack | ( | ) | const |
Returns Vector of all shapes contained inside the ShapeGroup.
Definition at line 187 of file shape_group.cc.
| ShapeGroupConstPtr collision::ShapeGroup::windowQuery | ( | collision::RectangleAABBConstPtr | aabb | ) | const |
Definition at line 10 of file shape_group.cc.