protected override void Start() { _sceneSize = SceneObject.Parent.MainCanvas.RenderSize; _scaleTransform = new ScaleTransform(1d, 1d); SceneObject.RenderTransform.Children.Add(_scaleTransform); _route = new Route(SceneObject) { IsLoop = true }; _route.AddPoint(SceneObject.Parent.GetObjectByName("Point1")); _route.AddPoint(SceneObject.Parent.GetObjectByName("Point2")); _route.AddPoint(SceneObject.Parent.GetObjectByName("Point3")); }
public void LengthTest() { Point p1 = new Point(0, 0); Point p2 = new Point(0, 1); Point p3 = new Point(1, 1); Route route = new Route(); Assert.AreEqual(0.0, route.GetLength(), 1e-4); route.AddPoint(p1); Assert.AreEqual(0.0, route.GetLength(), 1e-4); route.AddPoint(p2); Assert.AreEqual(1.0, route.GetLength(), 1e-4); route.AddPoint(p3); Assert.AreEqual(2.0, route.GetLength(), 1e-4); }
public void TestLength() { Route route = new Route(); Assert.AreEqual(0, route.GetLength()); Point p1 = new Point(0.0, 0.0); Point p2 = new Point(0.0, 1.0); Point p3 = new Point(1.0, 1.0); route.AddPoint(p1); Assert.AreEqual(0, route.GetLength()); route.AddPoint(p2); Assert.AreEqual(1, route.GetLength()); route.AddPoint(p3); Assert.AreEqual(2, route.GetLength()); }
public void AddPointTest() { int previousCount = _testRoute.GetRouteCount(); _testRoute.AddPoint(_p.GetX(), _p.GetY(), 0); Assert.AreEqual(previousCount + 1, _testRoute.GetRouteCount()); Assert.AreEqual(_routePoints[0].GetX(), _p.GetX()); Assert.AreEqual(_routePoints[0].GetY(), _p.GetY()); }
public Point GetNext() { Point point = route.Last(); List <int[]> possible = GetPossibleDirection(point); int indexDirection = GenerateIndex(lastIndex, possible); while (possible.Count > 1 && !DirectionTrue(point, possible[indexDirection])) { possible.RemoveAt(indexDirection); indexDirection = GenerateIndex(lastIndex, possible); } lastIndex = indexDirection > 1 ? lastIndex + indexDirection : lastIndex - indexDirection; return(route.AddPoint(point.x + possible[indexDirection][0], point.y + possible[indexDirection][1])); }
public void DrawRoute(GMapMarkerRoute Route, GMapControl gMap1, GMapOverlay routes, MouseEventArgs e)//画线6-18-16:11 { if (e.Button == System.Windows.Forms.MouseButtons.Left) { PointLatLng point = gMap1.FromLocalToLatLng(e.X, e.Y); if (Route == null) { Route = new GMapMarkerRoute(point); Route.Origin.X = gMap1.Size.Width / 2; Route.Origin.Y = gMap1.Size.Height / 2; Route.OriginOffset.X = 0; Route.OriginOffset.Y = 0; routes.Markers.Add(Route as GMapMarker); //划线 } Route.AddPoint(point); //向路径上添加点 } else if (e.Button == System.Windows.Forms.MouseButtons.Right) { //记录鼠标按下位 } }
public void TestLengthLimit() { Route route = new Route(); Assert.AreEqual(0, route.GetLength()); Point p_0 = new Point(0.0, 0.0); Point p_5 = new Point(0.0, 5.0); Point p_7_9999 = new Point(0.0, 7.9999); Point p_8 = new Point(0.0, 8.0); Point p_8_0001 = new Point(0.0, 8.0001); Point p_10 = new Point(0.0, 10.0); Assert.IsTrue(route.AddPoint(p_0)); Assert.IsTrue(route.AddPoint(p_5)); Assert.IsTrue(route.AddPoint(p_7_9999)); Assert.IsTrue(route.AddPoint(p_8)); Assert.IsFalse(route.AddPoint(p_8_0001)); Assert.IsFalse(route.AddPoint(p_10)); }
/// <summary> /// Generate random route /// </summary> private void CreateRoute() { var latLon = _initLatLon; var previousLatLon = _initLatLon; // Get liters var liters = double.Parse(TxLiters.Text, System.Globalization.NumberStyles.Any); // Get consumption var consumption = double.Parse(TxConsumption.Text, System.Globalization.NumberStyles.Any); // Route instance _route = new Route(new List<GLatLng>(), liters, consumption); // Create A point GMapControl.Add(new GMarkerWrapper(latLon, "A", Color.DarkMagenta)); // Add initial point to route _route.AddPoint(latLon); // Save initial distance in the current latlon _route.SaveRemainingDistance(latLon); var i = 0; do { // Generate random route changing his lat or lan depending the condition latLon = i % 2 == 0 ? latLon.GetRandomLon(20000, 40000) : latLon.GetRandomLat(20000, 40000); // Add to points list _route.AddPoint(latLon); // Get remaining distance in this latlon _route.CalculateRemainigDistance(latLon, previousLatLon); // Save remaining distance in the current latlon _route.SaveRemainingDistance(latLon); previousLatLon = latLon; i++; } while (_initLatLon.distanceFrom(latLon) <= 230000); // Create B point GMapControl.Add(new GMarkerWrapper(latLon, "B", Color.DarkMagenta)); // Create route GMapControl.Add(_route); }
public Generator() { route = new Route(); route.AddPoint(0, 0); route.AddPoint(0, 1); }