Root translation solving

To enable/disable root translation solving,

 IKSolver::translateRoot(true|false) 

should be called. This will add an additional 3 degrees of freedom to the root segment to position the figure such that all tasks are satisfied in an optimum way. Setting the translational degrees of freedom of the root using

IKSegment::setActiveDofs(true,true,true,false)

does not make the previous call redundant.

The solution for the translational degrees of freedom is written to the offset of the root segment from its parent, i.e. from the node to which the figure is attached in the scene. This is obtained with

 IKSegment::getPos() 

called on the root segment. Failure to update the root bone offset in the source skeleton when solving translation will lead to a mismatch between the segments and the bones.

 IKSolver::setTargetTranslation(Real x, Real y, Real z) 

can be called to define "limits" for these additional degrees of freedom, i.e. the position around which the figure should stay if possible. This is enabled by calling

 IKSolver::enableTargetTranslation(bool flag).