 
{ File em.sil -  ( Emulate maps ) }
 
 
{ Emulate maps for rebel_s6_045 }
 
 
{  This function computes the joint vector in the CIM }
{  convention.  The argument GUY is the robot object. }
{  The argument J is the current joint vector in the  }
{  EXTERNAL convention.                               }
function rebel_s6_045_to_cim_jvr(guy:object;j:jvr): jvr;
var z: darray of real;
begin
  z:= joint_r_parms(guy,0);   { index #0 = "JZERO }
  rebel_s6_045_to_cim_jvr:= [ 
                 j[1] + z[0],
                 j[2] + z[1],
                 j[3] + z[2],
                 j[4] + z[3],
                 j[5] + z[4],
                 j[6] + z[5] ] as jvr;
end;
 
 
{  This function computes the joint vector in the EXTERNAL }
{  convention.  The argument GUY is the robot object. The  }
{  argument J is the current joint vector in the CIM       }
{  convention.                                             }
function cim_to_rebel_s6_045_jvr(guy:object;j:jvr): jvr;
var z: darray of real;
begin
  z:= joint_r_parms(guy,0);   { index #0 = "JZERO }
  cim_to_rebel_s6_045_jvr:= [ 
                 j[1] - z[0],
                 j[2] - z[1],
                 j[3] - z[2],
                 j[4] - z[3],
                 j[5] - z[4],
                 j[6] - z[5] ] as jvr;
end;
