![]() |
Class to calculate intersections between Spheres and Planes. More...
#include <SurgSim/Collision/SpherePlaneContact.h>
Public Member Functions | |
std::list< std::shared_ptr< Contact > > | calculateDcdContact (const Math::SphereShape &sphere, const Math::RigidTransform3d &spherePose, const Math::PlaneShape &plane, const Math::RigidTransform3d &planePose) 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... | |
![]() | |
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 | |
![]() | |
typedef std::array< std::array< std::shared_ptr< ContactCalculation >, Math::SHAPE_TYPE_COUNT >, Math::SHAPE_TYPE_COUNT > | TableType |
![]() | |
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 () |
Class to calculate intersections between Spheres and Planes.
|
overridevirtual |
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::SphereShape, Math::PlaneShape >.
|
overridevirtual |
Virtual function that returns the shapes that this ContactCalculation class handles.
Implements SurgSim::Collision::ContactCalculation.