Delaunay.Voronoi.NeighborSitesForSite C# (CSharp) Méthode

NeighborSitesForSite() public méthode

public NeighborSitesForSite ( Vector2 coord ) : List
coord Vector2
Résultat List
		public List<Vector2> NeighborSitesForSite (Vector2 coord)
		{
			List<Vector2> points = new List<Vector2> ();
			Site site = _sitesIndexedByLocation [coord];
			if (site == null) {
				return points;
			}
			List<Site> sites = site.NeighborSites ();
			Site neighbor;
			for (int nIndex =0; nIndex<sites.Count; nIndex++) {
				neighbor = sites [nIndex];
				points.Add (neighbor.Coord);
			}
			return points;
		}

Usage Example

Exemple #1
0
    public Dictionary <Vector2, List <Vector2> > GenDelaunay()
    {
        Dictionary <Vector2, List <Vector2> > points = new Dictionary <Vector2, List <Vector2> >();
        int m_pointCount = 20;

        List <Vector2>     m_points;
        float              m_mapWidth  = 25;
        float              m_mapHeight = 12;
        List <LineSegment> m_edges     = null;
        List <LineSegment> m_spanningTree;
        List <LineSegment> m_delaunayTriangulation;
        List <uint>        colors = new List <uint>();

        m_points = new List <Vector2>();

        for (int i = 0; i < m_pointCount; i++)
        {
            colors.Add(0);
            m_points.Add(new Vector2(
                             Random.Range(2f, m_mapWidth - 2f),
                             Random.Range(2f, m_mapHeight))
                         );
        }
        Delaunay.Voronoi v = new Delaunay.Voronoi(m_points, colors, new Rect(2f, 2f, m_mapWidth, m_mapHeight));
        m_edges                 = v.VoronoiDiagram();
        m_spanningTree          = v.SpanningTree(KruskalType.MINIMUM);
        m_delaunayTriangulation = v.DelaunayTriangulation();

        foreach (Vector2 coord in m_points)
        {
            points.Add(coord, v.NeighborSitesForSite(coord));
        }

        return(points);
    }