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);
}
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()); }