Public Member Functions | List of all members
SurgSim::Collision::TriangleMeshParticlesContact Class Reference

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

#include <SurgSim/Collision/TriangleMeshParticlesContact.h>

Inheritance diagram for SurgSim::Collision::TriangleMeshParticlesContact:
SurgSim::Collision::ShapeShapeContactCalculation< Math::MeshShape, Math::ParticlesShape > SurgSim::Collision::ContactCalculation

Public Member Functions

std::list< std::shared_ptr< Contact > > calculateDcdContact (const Math::MeshShape &mesh, const Math::RigidTransform3d &, const Math::ParticlesShape &particles, const Math::RigidTransform3d &) const override
 
std::pair< int, int > getShapeTypes () override
 Virtual function that returns the shapes that this ContactCalculation class handles. 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...
 
- 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_COUNTTableType
 
- 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 TableTypegetDcdContactTable ()
 
static const TableTypegetCcdContactTable ()
 

Detailed Description

Class to calculate intersections between a triangle mesh and particles.

Member Function Documentation

◆ calculateDcdContact() [1/2]

std::list< std::shared_ptr< Contact > > SurgSim::Collision::TriangleMeshParticlesContact::calculateDcdContact ( const Math::MeshShape mesh,
const Math::RigidTransform3d ,
const Math::ParticlesShape particles,
const Math::RigidTransform3d  
) const
overridevirtual
Note
poses are ignored for this calculation

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

◆ calculateDcdContact() [2/2]

std::list< std::shared_ptr< Contact > > SurgSim::Collision::ContactCalculation::calculateDcdContact

Calculate the dcd contacts between two posed/transformed shapes.

Parameters
posedShape1,posedShape2The two posed shape to consider for this dcd contact calculation
Returns
a list of contacts between the two given posed shapes

◆ getShapeTypes()

std::pair< int, int > SurgSim::Collision::TriangleMeshParticlesContact::getShapeTypes ( )
overridevirtual

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: