public static object Microsoft_Robotics_Services_Sonar_Proxy_SonarState_TO_Microsoft_Robotics_Services_Sonar_Proxy_SonarState0(object transformFrom)
 {
     global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState target = new global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState();
     global::Microsoft.Robotics.Services.Sonar.SonarState       from   = ((global::Microsoft.Robotics.Services.Sonar.SonarState)(transformFrom));
     target.TimeStamp           = from.TimeStamp;
     target.HardwareIdentifier  = from.HardwareIdentifier;
     target.MaxDistance         = from.MaxDistance;
     target.DistanceMeasurement = from.DistanceMeasurement;
     target.AngularRange        = from.AngularRange;
     target.AngularResolution   = from.AngularResolution;
     global::Microsoft.Robotics.PhysicalModel.Pose tmp = from.Pose;
     target.Pose = ((global::Microsoft.Robotics.PhysicalModel.Proxy.Pose)(Microsoft_Robotics_PhysicalModel_Proxy_Pose_TO_Microsoft_Robotics_PhysicalModel_Proxy_Pose0(tmp)));
     double[] tmp0 = from.DistanceMeasurements;
     if ((tmp0 != null))
     {
         int      count = tmp0.Length;
         double[] tmp1  = new double[count];
         global::System.Buffer.BlockCopy(tmp0, 0, tmp1, 0, global::System.Buffer.ByteLength(tmp0));
         target.DistanceMeasurements = tmp1;
     }
     return(target);
 }
 public static object Microsoft_Robotics_Services_SonarSensorArray_Proxy_SonarSensorArrayState_TO_Microsoft_Robotics_Services_SonarSensorArray_Proxy_SonarSensorArrayState0(object transformFrom)
 {
     global::Microsoft.Robotics.Services.SonarSensorArray.Proxy.SonarSensorArrayState target            = new global::Microsoft.Robotics.Services.SonarSensorArray.Proxy.SonarSensorArrayState();
     global::Microsoft.Robotics.Services.SonarSensorArray.SonarSensorArrayState       from              = ((global::Microsoft.Robotics.Services.SonarSensorArray.SonarSensorArrayState)(transformFrom));
     global::System.Collections.Generic.List <global::Microsoft.Robotics.Services.Sonar.SonarState> tmp = from.Sensors;
     if ((tmp != null))
     {
         int count = tmp.Count;
         global::System.Collections.Generic.List <global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState> tmp0 = new global::System.Collections.Generic.List <global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState>(count);
         for (int index = 0; (index < count); index = (index + 1))
         {
             global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState tmp1 = default(global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState);
             global::Microsoft.Robotics.Services.Sonar.SonarState       tmp2 = tmp[index];
             if ((tmp2 != null))
             {
                 tmp1 = ((global::Microsoft.Robotics.Services.Sonar.Proxy.SonarState)(Microsoft_Robotics_Services_Sonar_Proxy_SonarState_TO_Microsoft_Robotics_Services_Sonar_Proxy_SonarState0(tmp2)));
             }
             tmp0.Add(tmp1);
         }
         target.Sensors = tmp0;
     }
     return(target);
 }