public SphericalTriangle GetTriangle(int index) { SphericalTriangle triangle = baseTriangle; for (int i = 0; i < generation; i++) { int subIndex = index & 3; triangle = triangle.Bisect()[subIndex]; index >>= 2; } return(triangle); }
public SphericalTriangle GetSubTriangle(int index, int generations) { SphericalTriangle triangle = this; for (int i = 0; i < generations; i++) { int subIndex = index & 3; triangle = triangle.Bisect()[subIndex]; index >>= 2; } return(triangle); }