//public void AddPathGroup(PathGroup pg) //{ // pg.Id = PathGroups.Count; // PathGroups.Add(pg); //} public void CalcPathIntersections() { PathIntersections.Clear(); // Test each path for (int C = 0; C < PathGroups.Count; C++) { for (int D = 0; D < PathGroups[C].Paths.Count; D++) { // for (int E = 0; E < PathGroups.Count; E++) { for (int F = 0; F < PathGroups[E].Paths.Count; F++) { // Verify if it's the same if (C != E) { IntersectionData id = PathGroups[C].Paths[D].IntersectsWith(PathGroups[E].Paths[F]); // PathIntersectionData pid = new PathIntersectionData(); pid.IntersectionData = id; pid.IntersectionPoint = id.IntersectionPoint; pid.P1 = PathGroups[C].Paths[D]; pid.P2 = PathGroups[E].Paths[F]; // PathIntersections.Add(pid); } // } } // } } }
public IPath Intersect(IPath path, PathIntersections bottomUp) { return path; }