1 #ifndef SimTK_SIMMATH_CONTACT_TRACKER_SUBSYSTEM_H_
2 #define SimTK_SIMMATH_CONTACT_TRACKER_SUBSYSTEM_H_
76 : m_surfaceTypes(typeOfSurface1, typeOfSurface2)
82 const std::pair<ContactGeometryTypeId,ContactGeometryTypeId>&
92 virtual bool trackContact
99 Contact& currentStatus)
const = 0;
107 virtual bool predictContact
114 Real intervalOfInterest,
115 Contact& predictedStatus)
const = 0;
122 virtual bool initializeContact
128 Real intervalOfInterest,
129 Contact& contactStatus)
const = 0;
157 static bool refineImplicitPair
161 Real& accuracyAchieved,
int& numIterations);
164 static Vec6 findImplicitPairError
173 static Mat66 calcImplicitPairJacobian
188 static bool estimateConvexImplicitPairContactUsingMPR
199 std::pair<ContactGeometryTypeId,ContactGeometryTypeId> m_surfaceTypes;
218 virtual bool trackContact
227 virtual bool predictContact
234 Real intervalOfInterest,
235 Contact& predictedStatus)
const;
237 virtual bool initializeContact
243 Real intervalOfInterest,
263 virtual bool trackContact
272 virtual bool predictContact
279 Real intervalOfInterest,
280 Contact& predictedStatus)
const;
282 virtual bool initializeContact
288 Real intervalOfInterest,
308 virtual bool trackContact
317 virtual bool predictContact
324 Real intervalOfInterest,
325 Contact& predictedStatus)
const;
327 virtual bool initializeContact
333 Real intervalOfInterest,
353 virtual bool trackContact
362 virtual bool predictContact
369 Real intervalOfInterest,
370 Contact& predictedStatus)
const;
372 virtual bool initializeContact
378 Real intervalOfInterest,
385 Real hsFaceHeight_M, std::set<int>& insideFaces)
const;
387 std::set<int>& insideFaces)
const;
406 virtual bool trackContact
415 virtual bool predictContact
422 Real intervalOfInterest,
423 Contact& predictedStatus)
const;
425 virtual bool initializeContact
431 Real intervalOfInterest,
439 std::set<int>& insideFaces)
const ;
458 virtual bool trackContact
467 virtual bool predictContact
474 Real intervalOfInterest,
475 Contact& predictedStatus)
const;
477 virtual bool initializeContact
483 Real intervalOfInterest,
487 void findIntersectingFaces
494 std::set<int>& insideFaces1,
495 std::set<int>& insideFaces2)
const;
500 std::set<int>& insideFaces)
const;
503 std::set<int>& triangles,
523 virtual bool trackContact
532 virtual bool predictContact
539 Real intervalOfInterest,
540 Contact& predictedStatus)
const;
542 virtual bool initializeContact
548 Real intervalOfInterest,
571 virtual bool trackContact
580 virtual bool predictContact
587 Real intervalOfInterest,
588 Contact& predictedStatus)
const;
590 virtual bool initializeContact
596 Real intervalOfInterest,
602 #endif // SimTK_SIMMATH_CONTACT_TRACKER_SUBSYSTEM_H_
This class represents a rectangular box with arbitrary position and orientation.
Definition: OrientedBoundingBox.h:42
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:565
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix.
This is the header file that every Simmath compilation unit should include first. ...
This class represents a small matrix whose size is known at compile time, containing elements of any ...
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:579
#define SimTK_SIMMATH_EXPORT
Definition: SimTKmath/include/simmath/internal/common.h:64