//------------------------------------------------------------------------------
// setAngle() -- sets the starting angle using an Angle parameter
//------------------------------------------------------------------------------ 
bool Worm::setAngle(const Basic::Angle* const saobj)
{
  bool ok = false;
  if (saobj != 0) {
    Basic::Radians radians;
    setStartAngle(radians.convert(*saobj));
    iangle = saobj;
    iangle->ref();
    ok = true;
  }
  return ok;
}
bool MergingIrSensor::setSlotElevationBin(const Basic::Number* const msg)
{
   LCreal value = 0.0;

   const Basic::Angle* a = dynamic_cast<const Basic::Angle*>(msg);
   if (a != nullptr) {
       Basic::Radians r;
       value = static_cast<LCreal>(r.convert(*a));
   }
   else if (msg != nullptr) {
      value = msg->getReal();
   }
   setElevationBin(value);
   return true;
}