Example #1
0
        private static void Sweep(DTSweepContext tcx)
        {
            List <TriangulationPoint> points = tcx.Points;

            for (int i = 1; i < points.Count; i++)
            {
                TriangulationPoint triangulationPoint = points[i];
                AdvancingFrontNode node = DTSweep.PointEvent(tcx, triangulationPoint);
                bool hasEdges           = triangulationPoint.HasEdges;
                if (hasEdges)
                {
                    foreach (DTSweepConstraint current in triangulationPoint.Edges)
                    {
                        DTSweep.EdgeEvent(tcx, current, node);
                    }
                }
                tcx.Update(null);
            }
        }
Example #2
0
        /// <summary>
        /// Start sweeping the Y-sorted point set from bottom to top
        /// </summary>
        private static void Sweep(DTSweepContext tcx)
        {
            List <TriangulationPoint> points = tcx.Points;

            for (int i = 1; i < points.Count; i++)
            {
                TriangulationPoint point = points[i];

                AdvancingFrontNode node = PointEvent(tcx, point);

                if (point.HasEdges)
                {
                    foreach (DTSweepConstraint e in point.Edges)
                    {
                        EdgeEvent(tcx, e, node);
                    }
                }
                tcx.Update(null);
            }
        }