SurgSim::Collision::BoxCapsuleContact Class Reference

Class to calculate intersections between Boxes and Capsules. More...

`#include <SurgSim/Collision/BoxCapsuleContact.h>`

Inheritance diagram for SurgSim::Collision::BoxCapsuleContact:

## Public Member Functions

std::list< std::shared_ptr< Contact > > | calculateDcdContact (const SurgSim::Math::BoxShape &boxShape, const SurgSim::Math::RigidTransform3d &boxPose, const SurgSim::Math::CapsuleShape &capsuleShape, const SurgSim::Math::RigidTransform3d &capsulePose) const override
| Virtual function to be overridden, this provides the typed contact calculation between two shapes it takes two shapes and their respective poses, and will return the contacts between those two shapes for shapes that return true for isTransformable(), the calculation may ignore the pose passed in the function. More...
std::pair< int, int > | getShapeTypes () override
| Virtual function that returns the shapes that this ContactCalculation class handles. More...
Public Member Functions inherited from SurgSim::Collision::ContactCalculation
| ContactCalculation ()
| Constructor. More...
virtual | ~ContactCalculation ()
| Destructor. More...
void | calculateContact (std::shared_ptr< CollisionPair > pair)
| Calculate the contacts for a given pair. More...
std::list< std::shared_ptr< Contact > > | calculateDcdContact (const Math::PosedShape< std::shared_ptr< Math::Shape >> posedShape1, const Math::PosedShape< std::shared_ptr< Math::Shape >> posedShape2)
| Calculate the dcd contacts between two posed/transformed shapes. More...
std::list< std::shared_ptr< Contact > > | calculateCcdContact (const Math::PosedShapeMotion< std::shared_ptr< Math::Shape >> posedShapeMotion1, const Math::PosedShapeMotion< std::shared_ptr< Math::Shape >> posedShapeMotion2)
| Calculate the ccd contacts between two posed/transformed shapes. More...

## Additional Inherited Members

Public Types inherited from SurgSim::Collision::ContactCalculation
typedef std::array< std::array< std::shared_ptr< ContactCalculation >, Math::SHAPE_TYPE_COUNT >, Math::SHAPE_TYPE_COUNT > | TableType
Static Public Member Functions inherited from SurgSim::Collision::ContactCalculation
static void | registerDcdContactCalculation (const std::shared_ptr< ContactCalculation > &calculation)
| Register an instance of a contact calculation in the table. More...
static void | registerCcdContactCalculation (const std::shared_ptr< ContactCalculation > &calculation)
| Register an instance of a contact calculation in the table. More...
static const TableType & | getDcdContactTable ()
static const TableType & | getCcdContactTable ()

## Detailed Description

Class to calculate intersections between Boxes and Capsules.

## Member Function Documentation

## calculateDcdContact()

std::list< std::shared_ptr< Contact > > SurgSim::Collision::BoxCapsuleContact::calculateDcdContact | ( | const SurgSim::Math::BoxShape & | shape1,
|  | const SurgSim::Math::RigidTransform3d & | pose1,
|  | const SurgSim::Math::CapsuleShape & | shape2,
|  | const SurgSim::Math::RigidTransform3d & | pose2
| ) |  | const

override virtual

Virtual function to be overridden, this provides the typed contact calculation between two shapes it takes two shapes and their respective poses, and will return the contacts between those two shapes for shapes that return true for isTransformable(), the calculation may ignore the pose passed in the function.

Reimplemented from SurgSim::Collision::ShapeShapeContactCalculation< Math::BoxShape, Math::CapsuleShape >.

## getShapeTypes()

std::pair< int, int > SurgSim::Collision::BoxCapsuleContact::getShapeTypes | ( |  | ) |

override virtual

Virtual function that returns the shapes that this ContactCalculation class handles.

Returns
  Return the shape types this class handles.

Implements SurgSim::Collision::ContactCalculation.

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

- SurgSim/Collision/BoxCapsuleContact.h
- SurgSim/Collision/BoxCapsuleContact.cpp