|
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... | |
Public Member Functions inherited from SurgSim::Collision::ContactCalculation | |
| 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.
1.8.11