Пример #1
0
        public Map Generate()
        {
            TriangleNet.Mesh mesh = createMesh();

            Map map = new Map();

            foreach (TriangleNet.Geometry.Vertex triVertex in mesh.Vertices)
            {
                Vertex v = map.AddVertex((float)triVertex.x, (float)triVertex.y);
                vertexIDMap.Add(triVertex.GetHashCode(), v.ID);
            }

            foreach (TriangleNet.Geometry.Edge Edge in mesh.Edges)
            {
                map.AddEdge(vertexIDMap[Edge.P0], vertexIDMap[Edge.P1]);
            }

            Prims prims = new Prims(map);

            prims.AssignMSTEdges();

            Roads roads = new Roads(map, roadDensity);

            roads.AssignRoadEdges();

            return(map);
        }