42 Pose::Pose(
double x, 
double y, 
double z, 
double roll, 
double pitch, 
double yaw)
 
   44   set(x, y, z, roll, pitch, yaw);
 
   47 Pose &
Pose::set(
double x, 
double y, 
double z, 
double roll, 
double pitch, 
double yaw)
 
   56   position.x = x, position.y = y, position.z = z;
 
   61   orientation.x = x, orientation.y = y, orientation.z = z, orientation.w = w;
 
   66   double halfYaw = double(yaw) * double(0.5), halfPitch = double(pitch) * double(0.5),
 
   67          halfRoll = double(roll) * double(0.5);
 
   68   double cosYaw = cos(halfYaw), sinYaw = sin(halfYaw), cosPitch = cos(halfPitch), sinPitch = sin(halfPitch),
 
   69          cosRoll = cos(halfRoll), sinRoll = sin(halfRoll);
 
   70   setOrientation(sinRoll * cosPitch * cosYaw - cosRoll * sinPitch * sinYaw,   
 
   71                  cosRoll * sinPitch * cosYaw + sinRoll * cosPitch * sinYaw,   
 
   72                  cosRoll * cosPitch * sinYaw - sinRoll * sinPitch * cosYaw,   
 
   73                  cosRoll * cosPitch * cosYaw + sinRoll * sinPitch * sinYaw);  
 
   84   pose->position.x = x, pose->position.y = y, pose->position.z = z;
 
   88   pose->orientation.x = x, pose->orientation.y = y, pose->orientation.z = z, pose->orientation.w = w;
 
   92   double halfYaw = double(yaw) * double(0.5), halfPitch = double(pitch) * double(0.5),
 
   93          halfRoll = double(roll) * double(0.5);
 
   94   double cosYaw = cos(halfYaw), sinYaw = sin(halfYaw), cosPitch = cos(halfPitch), sinPitch = sin(halfPitch),
 
   95          cosRoll = cos(halfRoll), sinRoll = sin(halfRoll);
 
   96   pose->orientation.x = sinRoll * cosPitch * cosYaw - cosRoll * sinPitch * sinYaw;  
 
   97   pose->orientation.y = cosRoll * sinPitch * cosYaw + sinRoll * cosPitch * sinYaw;  
 
   98   pose->orientation.z = cosRoll * cosPitch * sinYaw - sinRoll * sinPitch * cosYaw;  
 
   99   pose->orientation.w = cosRoll * cosPitch * cosYaw + sinRoll * sinPitch * sinYaw;  
 
  107   SetPositionXYZ(des, src.position.x, src.position.y, src.position.z);
 
  108   SetOrientation(des, src.orientation.x, src.orientation.y, src.orientation.z, src.orientation.w);