void AddTriangleToRegion(Point[] triangle, int index) { bitRegions = 0; if (TriangleQuadTree.IsPointInTriangle(pivot, triangle[0], triangle[1], triangle[2])) { AddToRegion(index, SW); AddToRegion(index, SE); AddToRegion(index, NW); AddToRegion(index, NE); return; } FindTriangleIntersections(triangle, index); if (bitRegions == 0) { // we didn't find any intersection so we add this triangle to a point's region int region = FindRegion(triangle[0]); regions[region].triangles.Add(index); } }