\input manualMacros.tex
\manBegin
\manPageInfo{RCCL Reference Manual}{}{}
\manTitle{MANIP MACROS}{3}
\manSection{NAME}
{\rightskip=0ptplus1fil
{\tt \manName{MANIP_ROBOT}},
{\tt \manName{MANIP_CPU}},
{\tt \manName{MANIP_TASK}}
-- get task information about an RCCL manipulator.

}
\manSection{USAGE}
\cverbatim
#include <rccl.h>

RCI_RBT *MANIP_ROBOT(mnp)
   MANIP *mnp;

MANIP_CPU(mnp)
   MANIP *mnp;

RCI_DESC *MANIP_TASK(mnp)
   MANIP *mnp;
@endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt mnp} --}
Manipulator reference structure,
returned by {\tt rcclCreate()}.
\manSection{DESCRIPTION}
These macros are used to obtain control task information and auxiliary data
structures for a manipulator being controlled by an RCCL program.

\manInset{{\bf NOTE} -- The {\tt MANIP_ROBOT()} macro is
obsolete because the {\tt MANIP} structure now contains
an explicit pointer to the {\tt RCI_RBT} structure. The macro
is retained only for compatibility reasons.}

{\tt MANIP_ROBOT()} returns the robot descriptor (type {\tt RCI_RBT}) for a
robot associated with a {\tt MANIP} structure. The robot
descriptor is the RCI level interface to the robot.

{\tt MANIP_CPU()} returns the number of the CPU where the trajectory
task for the manipulator is being run.

{\tt MANIP_TASK()} returns the descriptor of the RCI task
which generates the manipulator's trajectories. 
One RCI task may compute trajectories for several manipulators.
For a description of the RCI task descriptor, see {\tt RCI_DESC(3)}.

\manSection{DIAGNOSTICS}
If the {\tt MANIP} structure corresponds to only a virtual manipulator and not
a real robot, then {\tt MANIP_ROBOT()} returns {\tt NULL}.
\manSection{SEE ALSO}
\rightskip=0ptplus1fil
{\tt manip(3)}, {\tt rcclCreate(3)}, {\tt RCI_RBT(3)}, {\tt RCI_DESC(3)},
{\tt HOW(3)}, {\tt CHG(3)}.
\manEnd
\end
