/// <summary> /// Updates fields necessary to build the canvas display of the lines and locations over the map. /// </summary> /// <param name="filepath"></param> private void makeCanvas(string filepath) { helper = ViewHelper.LoadModel(filepath, mapHeight, mapWidth); var chooseFeeder = new ChooseContainer(helper.ContainerNames()); var feederselected = chooseFeeder.ShowDialog(); if (feederselected == true) { this.LineDefs = helper.LineOverlays(chooseFeeder.SelectedLine); } this.LocationDefs = helper.LocationOverlays(); this.BackgroundMap = helper.GoogleMapsURL(); var mapdisplay = new MapDisplay(this); MainDisplay.Content = mapdisplay; }
internal LineDisplays LineOverlays(string containerName){ var container = containers[containerName]; var lines = new LineDisplays(); LineDef displayLine; PositionPoint point1, point2; Conductor conductor; KeyValuePair<double,double> p1coords; KeyValuePair<double,double> p2coords; foreach(Equipment equipment in container.Where(x => x.EquipmentType == EquipmentTopoTypes.Conductor)){ conductor = equipment as Conductor; if (conductor != null){ displayLine = new LineDef(); point1 = conductor.Terminal1.Location.Position; point2 = conductor.Terminal2.Location.Position; p1coords = scaleToView(point1.XPosition, point1.YPosition); p2coords = scaleToView(point2.XPosition, point2.YPosition); displayLine.X1 = p1coords.Key; displayLine.X2 = p2coords.Key; displayLine.Y1 = p1coords.Value; displayLine.Y2 = p2coords.Value; displayLine.Description = String.Format("Line Segment {0}", conductor.Name); lines.Add(displayLine); } } return lines; }