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

Class to calculate intersections between a box and a sphere. More...

#include <SurgSim/Collision/BoxSphereContact.h>

Inheritance diagram for SurgSim::Collision::BoxSphereContact:
SurgSim::Collision::ShapeShapeContactCalculation< Math::BoxShape, Math::SphereShape > SurgSim::Collision::ContactCalculation

Public Member Functions

std::list< std::shared_ptr< Contact > > calculateDcdContact (const Math::BoxShape &boxShape, const Math::RigidTransform3d &boxPose, const Math::SphereShape &sphereShape, const Math::RigidTransform3d &spherePose) 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_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 box and a sphere.

Member Function Documentation

§ calculateDcdContact()

std::list< std::shared_ptr< Contact > > SurgSim::Collision::BoxSphereContact::calculateDcdContact ( const Math::BoxShape shape1,
const Math::RigidTransform3d pose1,
const Math::SphereShape shape2,
const Math::RigidTransform3d pose2 
) const
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::BoxShape, Math::SphereShape >.

§ getShapeTypes()

std::pair< int, int > SurgSim::Collision::BoxSphereContact::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: