Expand description
Curves in the plane: pcurves.
These carry a curve through a surface’s (u, v) parameter space. An edge
holds one per adjacent face (docs/DATA_MODEL.md §6), and boolean face
splitting happens entirely in this space: without a pcurve on each face
there is nothing to split with.
A separate type hierarchy from crate::curve rather than a generic
parameter, because a pcurve is used differently from a spatial curve.
Distance in parameter space is not distance in space; the same parametric
step covers a metre near a cylinder’s equator and nothing at all near a
sphere’s pole, so a function that treats the two alike is wrong, and
separate types keep that from compiling.
Structs§
- BSpline2d
- A B-spline in the plane, polynomial or rational.
- Circle2d
- A circle in the plane, parameterized by angle.
- Ellipse2d
- An ellipse in the plane, parameterized by eccentric angle.
- Line2d
- A straight line in the plane, parameterized by length.
- Offset2d
- A planar curve displaced a constant signed distance along its basis’s left normal (the tangent turned a quarter left), sharing the basis’s parameterization.
- Trig2d
- The affine-plus-trigonometric curve
p(t) = c + d·t + a·cos t + b·sin t. - Trimmed2d
- Another planar curve restricted to a sub-interval.
Enums§
- Planar
Curve - A curve in the plane.
Functions§
- tangent_
angle - The angle a planar curve’s tangent makes with the
uaxis att.