Public Member Functions | Protected Member Functions | Private Attributes | List of all members
SurgSim::Collision::OctreeDoubleSidedPlaneContact Class Reference

#include <SurgSim/Collision/OctreeDoubleSidedPlaneContact.h>

Inheritance diagram for SurgSim::Collision::OctreeDoubleSidedPlaneContact:
SurgSim::Collision::OctreeContact SurgSim::Collision::ContactCalculation

Public Member Functions

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...
 

Protected Member Functions

std::list< std::shared_ptr< Contact > > boxContactCalculation (const SurgSim::Math::BoxShape &boxShape, const SurgSim::Math::RigidTransform3d &boxPose, const SurgSim::Math::Shape &otherShape, const SurgSim::Math::RigidTransform3d &otherPose) override
 Do the calculation between an octree node (BoxShape) and the other shape. More...
 

Private Attributes

BoxDoubleSidedPlaneContact m_calculator
 

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 ()
 

Member Function Documentation

◆ boxContactCalculation()

std::list< std::shared_ptr< Contact > > SurgSim::Collision::OctreeDoubleSidedPlaneContact::boxContactCalculation ( const SurgSim::Math::BoxShape boxShape,
const SurgSim::Math::RigidTransform3d boxPose,
const SurgSim::Math::Shape otherShape,
const SurgSim::Math::RigidTransform3d otherPose 
)
overrideprotectedvirtual

Do the calculation between an octree node (BoxShape) and the other shape.

Parameters
boxShapethe box shape
boxPosethe pose of the box
otherShapethe other shape
otherPosethe pose of the other shape
Returns
a list of contacts between the shapes, if any

Implements SurgSim::Collision::OctreeContact.

◆ getShapeTypes()

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

Member Data Documentation

◆ m_calculator

BoxDoubleSidedPlaneContact SurgSim::Collision::OctreeDoubleSidedPlaneContact::m_calculator
private

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