Guest User

Datacollector

a guest
May 21st, 2012
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using Parser;
  5.  
  6. namespace Datastructure
  7. {
  8.     public class DataCollector : IData
  9.     {
  10.         private ParserController pc;
  11.  
  12.         ///<summary>
  13.         /// Author: Author: Leo van Essen | s1035621 / Rick Schuiling
  14.         /// Review: Leo van Essen | s1035621
  15.         /// Creating a Parsercontroller Object.
  16.         ///</summary>
  17.         public DataCollector(string chartPath)
  18.         {
  19.             this.pc = new ParserController(chartPath);
  20.         }
  21.  
  22.         ///<summary>
  23.         /// Author: Leo van Essen | s1035621 / Rick Schuiling
  24.         /// Review: Jarno Nijboer | s1035448
  25.         /// Converting the data from the parser to node and edge objects.
  26.         ///</summary>
  27.         public List<Node> CollectNodes()
  28.         {
  29.             List<Node> nodeList = new List<Node>();
  30.             List<NodeStruct> nodesDataList = pc.GetNodesData();
  31.  
  32.             foreach (NodeStruct item in nodesDataList)
  33.             {
  34.                 Node node = new Node();
  35.                 node.NodeId = item.Id;
  36.  
  37.                 CoordinateStruct coor = pc.GetCoordinateById(item.CoordinateId);
  38.  
  39.                 foreach (Point cd in coor.CoordinatePoints)
  40.                 {
  41.                     PointF coordinates = MakePoint(cd);
  42.                     node.Coordinates = coordinates;
  43.                 }
  44.  
  45.                 nodeList.Add(node);
  46.             }
  47.  
  48.             return nodeList;
  49.         }
  50.  
  51.         ///<summary>
  52.         /// Author: Leo van Essen | s1035621 / Rick Schuiling | s1035296
  53.         /// Review: Jarno Nijboer | s1035448
  54.         /// Changing the data from the parser to node and edge objects.
  55.         ///</summary>
  56.         public List<Edge> CollectEdges()
  57.         {
  58.             List<Edge> edgesList = new List<Edge>();
  59.  
  60.             List<EdgeStruct> edgesDataList = pc.GetEdgesData();
  61.  
  62.             foreach (EdgeStruct item in edgesDataList)
  63.             {
  64.                 Edge edge = new Edge();
  65.  
  66.                 edge.EdgeId = item.Id;
  67.                 edge.StartNodeId = item.FromNodeId;
  68.                 edge.DestinationNodeId = item.ToNodeId;
  69.                 CoordinateStruct segments = pc.GetCoordinateById(item.CoordinateId);
  70.                 foreach (Point coor in segments.CoordinatePoints)
  71.                 {
  72.                     PointF coordinates = MakePoint(coor);
  73.                     edge.Segments.Add(coordinates);
  74.                 }
  75.                
  76.                 edgesList.Add(edge);
  77.  
  78.             }
  79.  
  80.             return edgesList;
  81.         }
  82.  
  83.         ///<summary>
  84.         /// Author: Rosan Mosterman | s1027567
  85.         /// Review: Leo van Essen | s1035621
  86.         /// Creating pointF pointdata from parsed points.
  87.         ///</summary>
  88.         public PointF MakePoint(Point item)
  89.         {
  90.             float x = item.X;
  91.             float y = item.Y;
  92.  
  93.             float xx = x / 1000000;
  94.             float yy = y / 1000000;
  95.  
  96.             return new PointF(xx, yy);
  97.         }
  98.  
  99.        
  100.  
  101.     }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment