Approximate a parabola with line segments.
- Parameters
-
| pts | Linked list of points; must have at least two nodes on entry. |
| r | Rectangular half-width of the parabola. |
| b | Breadth (half-height) of the parabola. |
| dtol | Maximum allowable chord-to-curve distance (mm). |
| ntol | Maximum allowable normal-deviation angle (radians); pass M_PI to ignore normal tolerance. |
| min_abs | Minimum absolute span (mm) below which subdivision stops, preventing runaway recursion from extremely tight tolerances. |
Recommended min_abs values:
- 0.05 is a conservative default suitable for most CAD geometry. A full circle at this dtol requires ~300 segments; finer values rarely produce visible improvement on typical display hardware.
- 0.005 produces noticeably smoother curves on very small features but can multiply polygon counts by 10x or more.
- Values below dtol have no additional effect until dtol itself pushes subdivision to segments shorter than min_abs.
- SMALL_FASTF (~1e-37) disables the floor entirely, matching the deprecated rt_mk_parabola_old() behavior; use only when the geometry is known to be free of degenerate cases that could trigger unbounded recursion.
- Returns
- Number of additional points inserted into
pts.