![]() |
Class to calculate intersections between an Octree and other shapes. More...
#include <SurgSim/Collision/OctreeDcdContact.h>
Public Member Functions | |
OctreeDcdContact (std::shared_ptr< ContactCalculation > calculator) | |
Constructor. More... | |
virtual std::pair< int, int > | getShapeTypes () override |
Function that returns the shapes between which this class performs collision detection. More... | |
![]() | |
ContactCalculation () | |
Constructor. More... | |
virtual | ~ContactCalculation () |
Destructor. More... | |
void | calculateContact (std::shared_ptr< CollisionPair > pair) |
Function that handles asymmetric pair and calls the actual contact calculation routine of the sub class. More... | |
Private Member Functions | |
virtual void | doCalculateContact (std::shared_ptr< CollisionPair > pair) override |
Calculate the actual contact between two shapes of the given CollisionPair. More... | |
void | calculateContactWithNode (std::shared_ptr< const SurgSim::Math::OctreeShape::NodeType > node, std::shared_ptr< CollisionPair > pair, std::shared_ptr< SurgSim::DataStructures::OctreePath > nodePath) |
Calculate the collision between a specific octree node and a shape This function will check for contact between the node and shape. More... | |
Private Attributes | |
const std::shared_ptr< ContactCalculation > | m_calculator |
The contact calculator to use on each octree node. More... | |
std::pair< int, int > | m_shapeTypes |
The shape types that this contact caculation handles. More... | |
std::shared_ptr< ShapeCollisionRepresentation > | m_nodeCollisionRepresentation |
Collision Representation used to detect contacts with each octree node. More... | |
Class to calculate intersections between an Octree and other shapes.
|
explicit |
Constructor.
calculator | The contact calculator to use on each octree node |
|
private |
Calculate the collision between a specific octree node and a shape This function will check for contact between the node and shape.
If contact is found, this function will be called on each of the node's children. Once a leaf node is reached, contacts are added to the CollisionPair.
node | the octree node to collide with | |
[in,out] | pair | the collision pair that is under consideration |
nodePath | the path of the current node |
|
overrideprivatevirtual |
Calculate the actual contact between two shapes of the given CollisionPair.
pair | The symmetric pair that is under consideration. |
Implements SurgSim::Collision::ContactCalculation.
|
overridevirtual |
Function that returns the shapes between which this class performs collision detection.
Implements SurgSim::Collision::ContactCalculation.
|
private |
The contact calculator to use on each octree node.
|
private |
Collision Representation used to detect contacts with each octree node.
|
private |
The shape types that this contact caculation handles.