This component belongs to the category of AnimationLoop.
The FreeMotionAnimationLoop is the component that rules the simulation in two main steps: a free motion, then a correction step. First, the free motion computes the projective constraints, the physics, solving the resulting free linear system. Second, the correction step solves the constraints based on the Lagrange multipliers. More information on the constraint resolution can be found here.
The DefaultAnimationLoop has one data:
- computeBoundingBox: a boolean defining whether the global bounding box of the scene is computed at each time step. Used mostly for rendering.
The FreeMotionAnimationLoop must be used specifically for constraint resolution based on the Lagrange multiplier. It therefore requires:
- a ConstraintSolver. If no constraint solver can be found, a LCPConstraintSolver is automatically created by default.
Note that one or multiple ConstraintCorrection may be required by the ConstraintSolver.
This component is used as follows in XML format:
or using SofaPython3:
An example scene involving a FreeAnimationLoop is available in examples/Components/animationloop/FreeMotionAnimationLoop.scn
Last modified: 28 September 2022