void OnGUI() { if (ShowGUI && GeoTools.isBuilding()) { windowRect = GUI.Window(windowID, windowRect, new GUI.WindowFunction(TimerWindow), toolBoxUI_Language._ToolBoxWindowUI); } }
public override int Build() { Tracks.Clear(); Track track = new Track(++trackId, Tracktype.Airline); Node node; Osm.Segment segment = new Osm.Segment(); segment.Tags.Add("ref", "North/South connection"); Osm.Node osmNode; segment.Id = 1; // make a track with segment size of 96 meter. (180 segments North/South) for (int y = -MapSize / 2; y <= MapSize / 2; y += 96) { osmNode = new Osm.Node(); osmNode.Lat = GeoTools.DistanceToLat(lat, y); osmNode.Lon = lon; node = CreateNode(track, segment, osmNode, 0, y); track.Nodes.Add(node); } Tracks.Add(track); return(0); }
private void OnGUI() { if (!StatMaster.levelSimulating && ShowGUI && GeoTools.isBuilding() && !StatMaster.inMenu) { windowRect = GUI.Window(windowID, windowRect, new GUI.WindowFunction(SceneWindow), sceneUI_Language._SceneWindowUI); } }
public void CanCalculateDistanceFromLon() { double latCorrection = Math.Cos(lat * (Math.PI / 180)); Assert.AreEqual(0.63, latCorrection, 0.01); double calcLong = GeoTools.DistanceToLon(lon, lat, 60 * GeoTools.NauticalMile * latCorrection); Assert.AreEqual(lon + 1, calcLong, 0.01); }
public TrackCollection(double lat, double lon) { this.lat = lat; this.lon = lon; leftTopLat = GeoTools.DistanceToLat(lat, -MapSize / 2); leftTopLon = GeoTools.DistanceToLon(lon, lat, -MapSize / 2); rightBottomLat = GeoTools.DistanceToLat(lat, MapSize / 2); rightBottomLon = GeoTools.DistanceToLon(lon, lat, MapSize / 2); }
public void CanCalculateLonDistance() { double latCorrection = Math.Cos(lat * (Math.PI / 180)); double dist = GeoTools.LonDistance(lon - 1, lon, lat); Assert.AreEqual(GeoTools.NauticalMile * -60 * latCorrection, dist); double leftTopLon = GeoTools.DistanceToLon(lon, lat, -MapSize / 2); dist = GeoTools.LonDistance(leftTopLon, lon, lat); Assert.AreEqual(-MapSize / 2, dist, 0.01); }
public void CanCalculateLatDistance() { double dist = GeoTools.LatDistance(lat - 1, lat); Assert.AreEqual(GeoTools.NauticalMile * -60, dist); dist = GeoTools.LatDistance(lat + 1, lat); Assert.AreEqual(GeoTools.NauticalMile * 60, dist); double leftTopLat = GeoTools.DistanceToLat(lat, -MapSize / 2); dist = GeoTools.LatDistance(leftTopLat, lat); Assert.AreEqual(-MapSize / 2, dist, 0.01); }
public void CanCalculateDistance() { double leftTopLat = GeoTools.DistanceToLat(lat, -MapSize / 2); double leftTopLon = GeoTools.DistanceToLon(lon, lat, -MapSize / 2); double rightBottomLat = GeoTools.DistanceToLat(lat, MapSize / 2); double rightBottomLon = GeoTools.DistanceToLon(lon, lat, MapSize / 2); double distance = GeoTools.Distance(leftTopLat, leftTopLon, rightBottomLat, rightBottomLon); double mapHypothenysa = Math.Sqrt(2 * Math.Pow(MapSize, 2)); Assert.AreEqual(24437.61f, mapHypothenysa, 0.01); Assert.AreEqual(distance, mapHypothenysa, 0.1); }
protected virtual void AddSegmentToTrack(Track track, Segment segment) { foreach (Osm.Node node in segment.Nodes) { int x = (int)GeoTools.LonDistance(node.Lon, lon, lat); int y = (int)GeoTools.LatDistance(node.Lat, lat); // do not add segments that are outside the map if (!OnMap(x, y)) { // TODO: try to make outside connection continue; } track.Nodes.Add(CreateNode(track, segment, node, x, y)); } }
public void CanCalculateDistanceFromLat() { double calcLat = GeoTools.DistanceToLat(lat, 60 * GeoTools.NauticalMile); Assert.AreEqual(lat + 1, calcLat, 0.01); }