Exemple #1
0
        //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);
                            }
                            //
                        }
                    }
                    //
                }
            }
        }
Exemple #2
0
 public IPath Intersect(IPath path, PathIntersections bottomUp)
 {
     return path;
 }