SurgSim::Collision::TriangleMeshTriangleMeshContact Class Reference

Class to calculate intersections between a triangle mesh and a triangle mesh. More...

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

Inheritance diagram for SurgSim::Collision::TriangleMeshTriangleMeshContact:

## Public Member Functions

std::list< std::shared_ptr< Contact > > | calculateDcdContact (const Math::MeshShape &mesh1, const Math::RigidTransform3d &mesh1Pose, const Math::MeshShape &mesh2, const Math::RigidTransform3d &mesh2Pose) const override
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 a triangle mesh and a triangle mesh.

## Member Function Documentation

## calculateDcdContact()

std::list< std::shared_ptr< Contact > > SurgSim::Collision::TriangleMeshTriangleMeshContact::calculateDcdContact | ( | const Math::MeshShape & | mesh1,
|  | const Math::RigidTransform3d & | mesh1Pose,
|  | const Math::MeshShape & | mesh2,
|  | const Math::RigidTransform3d & | mesh2Pose
| ) |  | const

override virtual

Note
  this expects the posed version of the shape to be passed

Reimplemented from SurgSim::Collision::ShapeShapeContactCalculation< Math::MeshShape, Math::MeshShape >.

## getShapeTypes()

std::pair< int, int > SurgSim::Collision::TriangleMeshTriangleMeshContact::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/TriangleMeshTriangleMeshContact.h
- SurgSim/Collision/TriangleMeshTriangleMeshContact.cpp