|
std::shared_ptr< CollisionDetector > | cloneWithoutCollisionObjects () override |
| Create a clone of this CollisionDetector. More...
|
|
const std::string & | getType () const override |
| Return collision detection engine type as a std::string. More...
|
|
std::unique_ptr< CollisionGroup > | createCollisionGroup () override |
| Create a collision group. More...
|
|
bool | collide (CollisionGroup *group, const CollisionOption &option=CollisionOption(false, 1u, nullptr), CollisionResult *result=nullptr) override |
| Perform collision check for a single group. More...
|
|
bool | collide (CollisionGroup *group1, CollisionGroup *group2, const CollisionOption &option=CollisionOption(false, 1u, nullptr), CollisionResult *result=nullptr) override |
| Perform collision check for two groups. More...
|
|
double | distance (CollisionGroup *group, const DistanceOption &option=DistanceOption(false, 0.0, nullptr), DistanceResult *result=nullptr) override |
| Get the minimum signed distance between the Shape pairs in the given CollisionGroup. More...
|
|
double | distance (CollisionGroup *group1, CollisionGroup *group2, const DistanceOption &option=DistanceOption(false, 0.0, nullptr), DistanceResult *result=nullptr) override |
| Get the minimum signed distance between the Shape pairs where a pair consist of two shapes from each groups (one from group1 and one from group2). More...
|
|
virtual std::unique_ptr< CollisionGroup > | createCollisionGroup ()=0 |
| Create a collision group. More...
|
|
template<typename... Args> |
std::unique_ptr< CollisionGroup > | createCollisionGroup (const Args &... args) |
| Create a collision group from any objects that are supported by CollisionGroup::addShapeFramesOf(). More...
|
|
template<typename... Args> |
std::unique_ptr< CollisionGroup > | createCollisionGroup (const Args &... args) |
| Create a collision group from any objects that are supported by CollisionGroup::addShapeFramesOf(). More...
|
|
std::shared_ptr< CollisionGroup > | createCollisionGroupAsSharedPtr () |
| Helper function that creates and returns CollisionGroup as a shared_ptr. More...
|
|
template<typename... Args> |
std::shared_ptr< CollisionGroup > | createCollisionGroupAsSharedPtr (const Args &... args) |
| Helper function that creates and returns CollisionGroup as shared_ptr. More...
|
|
template<typename... Args>
std::unique_ptr< CollisionGroup > dart::collision::CollisionDetector::createCollisionGroup |
( |
const Args &... |
args | ) |
|
|
inherited |
Create a collision group from any objects that are supported by CollisionGroup::addShapeFramesOf().
The objects can be any of ShapeFrame, std::vector<ShapeFrame>, CollisionGroup, BodyNode, and Skeleton.
Note that this function adds only the ShapeFrames of each object at the moment that this function is called. Any later addition to or removal of the ShapeFrames that are attached to these objects will NOT be noticed.
template<typename... Args>
std::unique_ptr< CollisionGroup > dart::collision::CollisionDetector::createCollisionGroup |
( |
typename... |
Args | ) |
|
Create a collision group from any objects that are supported by CollisionGroup::addShapeFramesOf().
The objects can be any of ShapeFrame, std::vector<ShapeFrame>, CollisionGroup, BodyNode, and Skeleton.
Note that this function adds only the ShapeFrames of each object at the moment that this function is called. Any later addition to or removal of the ShapeFrames that are attached to these objects will NOT be noticed.
Get the minimum signed distance between the Shape pairs where a pair consist of two shapes from each groups (one from group1 and one from group2).
Note that the distance between shapes within the same CollisionGroup are not accounted.
The detailed results are stored in the given DistanceResult if provided.
The results can be different by DistanceOption. By default, non-negative minimum distance (distance >= 0) is returned for all the shape pairs without computing nearest points.
Implements dart::collision::CollisionDetector.