\input manualMacros.tex
\manBegin
\manPageInfo{RCCL Reference Manual}{}{}
\manTitle{eulToTrsf}{3}
\manSection{NAME}
{\rightskip=0ptplus1fil
{\tt \manName{eulToTrsf}},
{\tt \manName{multTrsfEul}},
{\tt \manName{trsfToEul}}
-- RCCL routines for handling Euler angles.
}
\manSection{USAGE}
\cverbatim
#include <robotTypes.h>    /* included as part of <rccl.h> */

TRSF *eulToTrsf (tr, phi, the, psi)
  TRSF *tr;
  float phi, the, psi;
                
TRSF *multTrsfEul (tr, phi, the, psi)
  TRSF *tr;
  float phi, the, psi;

trsfToEul (phi, the, psi, t1)
  float *phi, *the, *psi;
  TRSF *t1;
@endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt tr} --}
Result transform.
\manItem{{\tt t1} --}
Input transform.
\manItem{{\tt phi}, {\tt the}, {\tt psi} --}
Euler angles
representing rotation about the $z$ axis, the new $y$
axis, and the new $z$ axis, respectively (in degrees).
These arguments are result parameters in the case of {\tt trsfToEul()}.
\manSection{DESCRIPTION}

{\tt eulToTrsf()}
sets the rotational part of the transform {\TT tr} to 
correspond to a rotation given by the indicated Euler angles.

{\tt multTrsfEul()} post-multiplies the transform {\TT tr} (in place) 
by a rotation given by the indicated Euler angles.

Each of the above routines returns a pointer to its result argument.

{\tt trsfToEul()} returns the Euler angles which correspond
to the rotational part of the transform {\TT tr}.
If the Euler angle representation is not unique, then 
the value of {\TT phi} is arbitarily set to 0.0.
\manSection{SEE ALSO}
\rightskip=0ptplus1fil
{\tt xyzToTrsf(3)}, {\tt multTrsf(3)}, {\tt vaoToTrsf(3)}, {\tt rotToTrsf(3)}, {\tt rpyToTrsf(3)}.
\manEnd
\end
