示例#1
0
 /// <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;
     
 }
示例#2
0
 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;
 }