1 #ifndef SimTK_SIMMATH_GEODESIC_H_
2 #define SimTK_SIMMATH_GEODESIC_H_
79 {
return directionalSensitivityPtoQ; }
81 {
return directionalSensitivityPtoQ; }
83 directionalSensitivityPtoQ.push_back(jP);
87 {
return directionalSensitivityQtoP; }
89 {
return directionalSensitivityQtoP; }
91 directionalSensitivityQtoP.push_back(jQ);
95 {
return positionalSensitivityPtoQ; }
97 {
return positionalSensitivityPtoQ; }
99 positionalSensitivityPtoQ.push_back(jtP);
103 {
return positionalSensitivityQtoP; }
105 {
return positionalSensitivityQtoP; }
107 positionalSensitivityQtoP.push_back(jtQ);
125 {
return ~xdotQ*getTangentQ() - ~xdotP*getTangentP(); }
225 frenetFrames.clear();
226 directionalSensitivityPtoQ.clear();
227 directionalSensitivityQtoP.clear();
228 positionalSensitivityPtoQ.clear();
229 positionalSensitivityQtoP.clear();
231 torsionAtP = torsionAtQ =
NaN;
232 binormalCurvatureAtP = binormalCurvatureAtQ =
NaN;
233 convexFlag = shortestFlag =
false;
234 initialStepSizeHint = achievedAccuracy =
NaN;
247 void dump(std::ostream& o)
const;
259 Real torsionAtP, torsionAtQ;
260 Real binormalCurvatureAtP, binormalCurvatureAtQ;
266 Real initialStepSizeHint;
267 Real achievedAccuracy;
277 m_geod(geod), m_color(color) { }
286 for (
int i = 0; i < (int) Kfs.
size(); ++i) {
287 Vec3 cur = Kfs[i].p();
292 .setLineThickness(3));
318 #endif // SimTK_SIMMATH_GEODESIC_H_