1 #ifndef SimTK_SIMBODY_PLUS_IMPULSE_SOLVER_H_ 2 #define SimTK_SIMBODY_PLUS_IMPULSE_SOLVER_H_ 41 m_cosMaxSlidingDirChange(
std::cos(
Pi/6))
90 Real calcSlidingStepLengthToMaxChange(
const Vec2& A,
const Vec2& B)
const;
91 Real calcSlidingStepLengthToMaxChange(
const Vec3& A,
const Vec3& B)
const;
104 void initializeNewton(
const Matrix& A,
106 const Vector& verrApplied,
111 void updateDirectionsAndCalcCurrentError
120 void updateJacobianForSliding(
const Matrix& A,
123 const Vector& verrAppliedLeft)
const;
126 Real m_minSmoothness;
127 Real m_cosMaxSlidingDirChange;
130 mutable Vector m_verrLeft;
131 mutable Vector m_verrExpand;
148 mutable Matrix m_JacActive;
149 mutable Vector m_rhsActive;
150 mutable Vector m_piActive;
151 mutable Vector m_errActive;
153 mutable Matrix m_bilateralActive;
158 #endif // SimTK_SIMBODY_PLUS_IMPULSE_SOLVER_H_ PLUSImpulseSolver(Real roll2slipTransitionSpeed)
Definition: PLUSImpulseSolver.h:36
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
This is the abstract base class for impulse solvers, which solve an important subproblem of the conta...
Definition: ImpulseSolver.h:109
TODO: PLUS (Poisson-Lankarani-Uchida-Sherman) impulse solver.
Definition: PLUSImpulseSolver.h:34
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:606
The Array_<T> container class is a plug-compatible replacement for the C++ standard template library ...
Definition: Array.h:53
const Real SqrtEps
This is the square root of Eps, ~1e-8 if Real is double, ~3e-4 if Real is float.
#define SimTK_DEFINE_UNIQUE_LOCAL_INDEX_TYPE(PARENT, NAME)
Define a local Index class within a Parent class.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:437
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:68