TriangleNet.Tools.QuadNode.FindTriangles C# (CSharp) Method

FindTriangles() public method

public FindTriangles ( Point searchPoint ) : List
searchPoint Point
return List
        public List<int> FindTriangles(Point searchPoint)
        {
            int region = FindRegion(searchPoint);
            if (regions[region] == null)
            {
                return triangles;
            }
            return regions[region].FindTriangles(searchPoint);
        }

Usage Example

Ejemplo n.º 1
0
        public ITriangle Query(float x, float y)
        {
            var point   = new Point(x, y);
            var indices = root.FindTriangles(point);

            var result = new List <ITriangle>();

            foreach (var i in indices)
            {
                var tri = this.triangles[i];

                if (IsPointInTriangle(point, tri.GetVertex(0), tri.GetVertex(1), tri.GetVertex(2)))
                {
                    result.Add(tri);
                }
            }

            return(result.FirstOrDefault());
        }