1 #ifndef SimTK_SIMMATH_COLLISION_DETECTION_ALGORITHM_H_
2 #define SimTK_SIMMATH_COLLISION_DETECTION_ALGORITHM_H_
68 virtual void processObjects
100 :
public std::map<std::pair<ContactGeometryTypeId, ContactGeometryTypeId>,
101 CollisionDetectionAlgorithm*>
106 static AlgorithmMap algorithmMap;
174 Real xoffset, std::set<int>& insideFaces)
const;
176 std::set<int>& insideFaces)
const;
194 void processBox(
const Vec3& center,
Real radius2,
197 std::set<int>& insideFaces)
const;
220 const Transform& transform, std::set<int>& triangles1,
221 std::set<int>& triangles2)
const;
225 std::set<int>& triangles)
const;
228 int index,
int depth)
const;
229 static const int OUTSIDE = -1;
230 static const int UNKNOWN = 0;
231 static const int BOUNDARY = 1;
232 static const int INSIDE = 2;
252 static void addContact
271 #endif // SimTK_SIMMATH_COLLISION_DETECTION_ALGORITHM_H_
virtual ~HalfSpaceTriangleMesh()
Definition: CollisionDetectionAlgorithm.h:163
This algorithm detects contacts between a ContactGeometry::HalfSpace and a ContactGeometry::Ellipsoid...
Definition: CollisionDetectionAlgorithm.h:129
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
This algorithm detects contacts between a ContactGeometry::Sphere and a ContactGeometry::TriangleMesh...
Definition: CollisionDetectionAlgorithm.h:183
virtual ~HalfSpaceEllipsoid()
Definition: CollisionDetectionAlgorithm.h:132
This class represents a rectangular box with arbitrary position and orientation.
Definition: OrientedBoundingBox.h:42
virtual ~ConvexConvex()
Definition: CollisionDetectionAlgorithm.h:241
The SimTK::Array_ container class is a plug-compatible replacement for the C++ standard template l...
Definition: Array.h:50
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:577
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix.
virtual ~HalfSpaceSphere()
Definition: CollisionDetectionAlgorithm.h:116
A CollisionDetectionAlgorithm implements an algorithm for detecting overlaps between pairs of Contact...
Definition: CollisionDetectionAlgorithm.h:43
This algorithm detects contacts between a ContactGeometry::HalfSpace and a ContactGeometry::TriangleM...
Definition: CollisionDetectionAlgorithm.h:160
This is the header file that every Simmath compilation unit should include first. ...
virtual ~SphereTriangleMesh()
Definition: CollisionDetectionAlgorithm.h:186
This class represents a small matrix whose size is known at compile time, containing elements of any ...
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:591
This algorithm detects contacts between two ContactGeometry::Convex objects.
Definition: CollisionDetectionAlgorithm.h:238
This algorithm detects contacts between two ContactGeometry::TriangleMesh objects.
Definition: CollisionDetectionAlgorithm.h:204
This algorithm detects contacts between a ContactGeometry::HalfSpace and a ContactGeometry::Sphere.
Definition: CollisionDetectionAlgorithm.h:113
virtual ~SphereSphere()
Definition: CollisionDetectionAlgorithm.h:147
This algorithm detects contacts between two ContactGeometry::Sphere objects.
Definition: CollisionDetectionAlgorithm.h:144
virtual ~TriangleMeshTriangleMesh()
Definition: CollisionDetectionAlgorithm.h:207
#define SimTK_SIMMATH_EXPORT
Definition: SimTKmath/include/simmath/internal/common.h:64
virtual ~CollisionDetectionAlgorithm()
Definition: CollisionDetectionAlgorithm.h:52