示例#1
0
        public void ParseString(double x, double y, double heading)
        {
            foreach (string subString in FormattedStrings(x, y, heading))
            {
                PoseDto pose = PoseDtoFactory.ParseString(subString);

                Assert.AreEqual(x, pose.X);
                Assert.AreEqual(y, pose.Y);
                Assert.AreEqual(heading, pose.Heading);
            }
        }
示例#2
0
        /// <summary>
        /// Tries to parse the pose defined in poseString.
        /// </summary>
        /// <param name="poseString">E.g. 0.5,0.2,0.57 or x0.5,y0.2,h0.57</param>
        /// <param name="poseDto">Parsed results</param>
        /// <returns>True on success</returns>
        public static bool TryParseString(string poseString, out PoseDto poseDto)
        {
            try
            {
                poseDto = ParseString(poseString);
            }
            catch (Exception ex)
            {
                poseDto = null;
            }

            return(poseDto != null);
        }
示例#3
0
        public void CreateVirtual_NaNPose()
        {
            PoseDto pose = new PoseDto()
            {
                X       = double.NaN,
                Y       = double.NaN,
                Heading = double.NaN
            };

            IFleetManagerClient client = ClientFactory.CreateTcpFleetManagerClient(settings);
            IServiceCallResult  result = client.CreateVirtualVehicle("192.168.0.1", pose);

            Assert.AreEqual(0, result.ServiceCode);
        }
示例#4
0
        public void SetPose(double x, double y, double heading)
        {
            IFleetManagerClient client  = ClientFactory.CreateTcpFleetManagerClient(settings);
            PoseDto             poseDto = new PoseDto()
            {
                X       = x,
                Y       = y,
                Heading = heading
            };

            var result = client.SetPose(IPAddress.Parse("192.0.2.5"), poseDto);

            Assert.AreEqual(0, result.ServiceCode);
        }
示例#5
0
        public void TestVirtual(string ipV4String)
        {
            IFleetManagerClient client = ClientFactory.CreateTcpFleetManagerClient(settings);

            PoseDto poseDto = new PoseDto()
            {
                X       = 0,
                Y       = 0,
                Heading = 0
            };

            var result = client.CreateVirtualVehicle(IPAddress.Parse(ipV4String), poseDto);

            Assert.AreEqual(0, result.ServiceCode);
        }
示例#6
0
        public void CreateVirtual()
        {
            PoseDto pose = new PoseDto()
            {
                X       = -3,
                Y       = -2,
                Heading = 0
            };

            IPAddress           ipAddress = IPAddress.Parse("192.0.2.5");
            IFleetManagerClient client    = ClientFactory.CreateTcpFleetManagerClient(settings);

            var result = client.CreateVirtualVehicle(ipAddress, pose);

            Assert.AreEqual(0, result.ServiceCode);
        }
示例#7
0
        /// <summary>
        /// Sets the pose of a vehicle.
        /// </summary>
        /// <param name="client">The fleet manager client to use.</param>
        /// <param name="ipAddress">IPv4 address of target vehicle.</param>
        /// <param name="x">X position in meters.</param>
        /// <param name="y">Y position in meters.</param>
        /// <param name="heading">Heading in radians.</param>
        /// <returns>Successful service call result on success.</returns>
        public static IServiceCallResult SetPose(this IFleetManagerClient client, IPAddress ipAddress, double x, double y, double heading)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            if (ipAddress == null)
            {
                throw new ArgumentNullException("ipAddress");
            }

            PoseDto poseDto = new PoseDto()
            {
                X       = x,
                Y       = y,
                Heading = heading
            };

            return(client.SetPose(ipAddress, poseDto));
        }
示例#8
0
        /// <summary>
        /// Creates a new virtual vehicle.
        /// </summary>
        /// <param name="client">The fleet manager client to use.</param>
        /// <param name="ipV4string">IPv4 address of the vehicle to be created.</param>
        /// <param name="pose">The initialization pose.</param>
        /// <returns></returns>
        public static IServiceCallResult CreateVirtualVehicle(this IFleetManagerClient client, string ipV4string, PoseDto pose)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            if (string.IsNullOrEmpty(ipV4string))
            {
                throw new ArgumentOutOfRangeException("ipV4string");
            }

            if (pose == null)
            {
                throw new ArgumentNullException("pose");
            }

            IPAddress ipAddress = IPAddress.Parse(ipV4string);

            return(client.CreateVirtualVehicle(ipAddress, pose));
        }
示例#9
0
 public IServiceCallResult CreateVirtualVehicle(IPAddress ipAddress, PoseDto pose)
 {
     Logger.Trace("CreateVirtualVehicle");
     return(HandleAPICall(e => e.CreateVirtualVehicle(ipAddress, pose)));
 }
示例#10
0
 public IServiceCallResult SetPose(IPAddress ipAddress, PoseDto pose)
 {
     Logger.Trace("SetPose");
     return(HandleAPICall(e => e.SetPose(ipAddress, pose)));
 }