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