private static void FillRightAboveEdgeEvent(DTSweepContext tcx, DTSweepConstraint edge, AdvancingFrontNode node) { while (node.Next.Point.X < edge.P.X) { Orientation orientation = TriangulationUtil.Orient2d(edge.Q, node.Next.Point, edge.P); bool flag = orientation == Orientation.CCW; if (flag) { DTSweep.FillRightBelowEdgeEvent(tcx, edge, node); } else { node = node.Next; } } }
private static void FillRightBelowEdgeEvent(DTSweepContext tcx, DTSweepConstraint edge, AdvancingFrontNode node) { bool flag = node.Point.X < edge.P.X; if (flag) { bool flag2 = TriangulationUtil.Orient2d(node.Point, node.Next.Point, node.Next.Next.Point) == Orientation.CCW; if (flag2) { DTSweep.FillRightConcaveEdgeEvent(tcx, edge, node); } else { DTSweep.FillRightConvexEdgeEvent(tcx, edge, node); DTSweep.FillRightBelowEdgeEvent(tcx, edge, node); } } }