blender/intern/moto/include
Brecht Van Lommel ae9dcb3dc2 Update SConscript.
Fix some warnings.
Merge with latest soc code.

What changed in IK lib:

Fully restructured, with components now as follows:
  - IK_Solver: C <=> C++ interface
  - IK_QSegment: base class for bone/segment with 0
    to 3 DOF
  - IK_QTask: base class for a task (currently there's
    a position and a rotation task)
  - IK_QJacobian: the Jacobian matrix, with SVD
    decomposition, damping, etc
  - IK_QJacobianSolver: the iterative solver

The exponential map parametrization is no longer used,
instead we have now:
  - 3DOF and 2DOF XZ segments: directly update matrix
    with Rodrigues' formula
  - Other: Euler angles (no worries about singularities
    here)

Computation of the Jacobian inverse has also changed:
  - The SVD algorithm is now based on LAPACK code,
    instead of NR, to avoid some problems with rounding
    errors.
  - When the problem is underconstrained (as is the case
    most of the time), the SVD is computed for the transpose
    of the Jacobian (faster).
  - A new damping algorithm called the Selectively Damped
    Least Squares is used, result in faster and more
    stable convergence.
  - Stiffness is implemented as if a weighted psuedo-inverse
    was used.

Tree structure support.

Rotation limits:
  - 3DOF and 2DOF XZ segments limits are based on a swing
    (direct axis-angle over XZ) and twist/roll (rotation
    over Y) decomposition. The swing region is an ellipse
    on a sphere.
  - Rotation limits are implemented using an inner clamping
    loop: as long as there is a violation, a violating DOF
    is clamped and removed from the Jacobian, and the solution
    is recomputed.

Convergence checking is based now on the max norm of angle
change, or the maximum number of iterations.
2005-08-27 13:45:19 +00:00
..
GEN_List.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
GEN_Map.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_assert.h Disabled assert foolery in Decimator. :) 2005-05-24 10:44:14 +00:00
MT_CmMatrix4x4.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Matrix3x3.h Second commit for Brecht's IK work. 2005-08-27 12:45:29 +00:00
MT_Matrix3x3.inl Initial revision 2002-10-12 11:37:38 +00:00
MT_Matrix4x4.h Killed MT_Scalar to float conversion warnings (should be 2003-03-18 23:20:10 +00:00
MT_Matrix4x4.inl Initial revision 2002-10-12 11:37:38 +00:00
MT_MinMax.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Optimize.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Plane3.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Plane3.inl Initial revision 2002-10-12 11:37:38 +00:00
MT_Point2.h I'll break this commit into two sections in the moto files 2005-03-25 16:31:05 +00:00
MT_Point2.inl Initial revision 2002-10-12 11:37:38 +00:00
MT_Point3.h Update SConscript. 2005-08-27 13:45:19 +00:00
MT_Point3.inl Update SConscript. 2005-08-27 13:45:19 +00:00
MT_Quaternion.h Small fix for the following warning: 2005-03-25 14:48:29 +00:00
MT_Quaternion.inl Fix bug #2006: 2005-01-09 00:06:45 +00:00
MT_random.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Scalar.h - added debug line drawing in gameengine (handy for debugging physics problems) 2005-07-27 09:30:53 +00:00
MT_Stream.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Transform.h Second commit for Brecht's IK work. 2005-08-27 12:45:29 +00:00
MT_Tuple2.h Killed MT_Scalar to float conversion warnings (should be 2003-03-18 23:20:10 +00:00
MT_Tuple3.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Tuple4.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Vector2.h I'll break this commit into two sections in the moto files 2005-03-25 16:31:05 +00:00
MT_Vector2.inl Gilles's patch to get rid of the the same identifier warnings 2002-12-14 15:38:45 +00:00
MT_Vector3.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Vector3.inl Gilles's patch to get rid of the the same identifier warnings 2002-12-14 15:38:45 +00:00
MT_Vector4.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00
MT_Vector4.inl Gilles's patch to get rid of the the same identifier warnings 2002-12-14 15:38:45 +00:00
NM_Scalar.h WooHoo me again ;) 2002-12-26 18:25:17 +00:00