public static void addWaypoint(int X, int Y) { Waypoint tempWP = new Waypoint(X, Y); if (overlapsExistingWaypoint(tempWP) == false) { WaypointList.Add(tempWP); } Forms.MainFrm.UpdatePictureBox(); }
public static void addEnd(Point inputPoint) { Waypoint closestWP = findClosestWaypoint(inputPoint); if (!closestWP.isStart) { closestWP.isEnd = true; EndWaypoint = closestWP; Forms.MainFrm.UpdatePictureBox(); } }
public static void addStart(Point inputPoint) { Waypoint closestWP = findClosestWaypoint(inputPoint); if (!closestWP.isEnd) { closestWP.isStart = true; closestWP.Value = 0; StartWaypoint = closestWP; Forms.MainFrm.UpdatePictureBox(); } }
public static void markConnections(Waypoint inputWP) { double tempDist; foreach (Waypoint currentConn in inputWP.listConnectedWaypoints()) { if (currentConn.Visited == false) { tempDist = Functions.Distance(inputWP.Point, currentConn.Point); currentConn.Value = inputWP.Value + tempDist; } } Forms.MainFrm.UpdatePictureBox(); }
private static Boolean overlapsExistingWaypoint(Waypoint inputWP) { foreach (Waypoint currentWP in WaypointList) { if (Functions.Distance(inputWP.Point, currentWP.Point) < 10) { return true; } } return false; }
private static Waypoint findClosestWaypoint(Point inputPoint) { Waypoint closestWP = new Waypoint(-9999, -9999); double tempDistance; double closestDistance = Functions.Distance(closestWP.Point, inputPoint); foreach (Waypoint currentWP in WaypointList) { tempDistance = Functions.Distance(currentWP.Point, inputPoint); if (tempDistance < closestDistance) { closestWP = currentWP; closestDistance = tempDistance; } } return closestWP; }
public void addConnection(Waypoint inputWP) { if (!pairGUIDList.Contains(inputWP.GUID)) { pairGUIDList.Add(inputWP.GUID); } }