Skip to main content

Crate axiolid_nurbs

Crate axiolid_nurbs 

Source
Expand description

General NURBS algorithms over Axiolid’s format-neutral B-spline values.

This crate builds on the portable scalar oracle: evaluation comes from axiolid-evaluate and is not reimplemented here. It owns differential geometry and exact shape-preserving transformations; importers and tessellators are consumers, not the capability boundary.

Every tolerance-sensitive solver takes explicit, bounded options (work ceilings, resolutions, tolerances) and reports an unresolved outcome or refuses when they run out. A shape-preserving transform is tested against independent evaluation samples of the original, not its own recurrence.

Modules§

extrema
Extrema between points, curves and surfaces (#119, B7): the smallest distance between two pieces of geometry, certified.

Structs§

BoundedResult
Outcome of a lossy operation: the curve, and the error it introduced.
BoundedSurface
A surface changed within a stated bound.
CertifiedCurveIntersectionOptions
Accuracy and work policy for certified planar root isolation.
CertifiedCurveSurfaceIntersectionOptions
Bounded policy for certified curve/surface root isolation.
CertifiedProjectionOptions
Explicit work and accuracy policy for globally certified projection.
CertifiedRegion
One classified leaf of the certified subdivision.
CertifiedSurfaceArcs3
Result of certified curved surface/surface analysis.
CertifiedSurfaceArcsOptions
Explicit policy for certified curved analysis.
CertifiedSurfaceProjectionOptions
Explicit accuracy and work policy for globally certified surface projection.
CertifiedSurfaceSurfaceIntersectionOptions
Bounded policy for certified surface/surface intersection and affine tracing.
ClassifiedCurveContact2
One classified non-transverse contact, owned by exactly one parameter box.
ConstructedCurveSurfacePoint3
A certified curve/surface crossing, reported as a point rather than a curve.
ConstructedIntersectionCurve3
An intersection curve constructed from a certified trace.
CurveCurveHit
One point where two curves meet, with its parameter on each.
CurveDifferential2
Parameter-invariant differential properties of a planar curve.
CurveDifferential3
Parameter-invariant differential properties of a spatial curve.
CurveDistanceCertificate2
Globally bounded minimum-distance result for two planar curves.
CurveDistanceCertificate3
Globally bounded minimum-distance result for two spatial curves.
CurvePairParameterBox
Product-domain box that may contain a globally closest curve pair.
CurveProjection2
Best planar-curve projection candidate found within the supplied budget.
CurveProjection3
Best spatial-curve projection candidate found within the supplied budget.
CurveProjectionCertificate2
Globally bounded closest-point result for a planar curve.
CurveProjectionCertificate3
Globally bounded closest-point result for a spatial curve.
CurveSurfaceParameterBox
Native parameter box for a curve and a tensor-product surface patch.
ExactCurveHit
One intersection point.
ExactIntersectionCurve
The exact intersection curve of two elementary surfaces, when one exists in closed form.
FundamentalForm
Coefficients (e, f, g) of a quadratic fundamental form.
Isolated
A parameter isolated by certified subdivision, held as the exact double it was refined to (so parameters compare exactly, bit for bit).
ParameterInterval
Closed native-parameter interval that may contain a global minimizer.
PeriodicBSplineSurface
An owned tensor-product B-spline surface with validated cyclic axes.
PeriodicCurve2
Verified closed-seam extension of a planar B-spline curve.
PeriodicCurve3
Verified closed-seam extension of a spatial B-spline curve.
ProjectionOptions
Explicit work and convergence policy for bounded projection.
SurfaceDifferential
First/second-order differential properties of an oriented surface.
SurfaceInversionCertificate3
Unique native parameters proven to name a point on the surface.
SurfaceKnotRemoval
The outcome of removing one knot value from a surface up to some number of times.
SurfaceParameterBox
Closed native (u, v) box that may contain a global minimizer.
SurfaceProjection
Best surface projection candidate found within the supplied budget.
SurfaceProjectionCertificate3
Globally bounded closest-point certificate for a spatial surface.
SurfaceSurfaceParameterBox
Native four-parameter box for a pair of tensor-product surfaces.
SurfaceSurfaceTraceEndpoint3
Certified endpoint enclosure for an affine surface/surface trace.
TransverseCurveIntersection2
One isolated transverse planar intersection.
TransverseCurveSurfaceIntersection3
Existence-and-uniqueness certificate for one transverse intersection.
TransverseSurfaceSurfaceTrace3
Certificate for one complete regular affine intersection segment.

Enums§

CertifiedCurveIntersection2
Planar curve/curve classification under the implemented proof paths.
CertifiedCurveSurfaceIntersection3
Certified curve/surface query outcome.
CertifiedSurfaceProjection3
Exhaustive bounded outcome for spatial surface projection.
CertifiedSurfaceSurfaceIntersection3
Certified surface/surface query outcome.
CoverageFault
Why a set of regions failed to account for the whole domain.
CurveIntersectionDegeneracy
Singular or not-yet-isolated curve relationship.
Derivation
The closed-form identity behind an exact intersection curve.
ExactCurveIntersection
The exact intersection of a curve with another operand.
ExactCurveParameter
Where on the first curve an intersection lies, exactly.
ExactCurveRefusal
Why an exact curve intersection was not computed.
ExactIntersectionRefusal
Why an elementary pair has no exact closed-form intersection curve here.
IntersectionCurveRefusal
Why a certified query produced no constructed intersection curve.
ProjectionStatus
Outcome of the selected bounded local solve.
RegionKind
What was certified about one leaf region of the parameter domain.
SeamContinuity
Highest endpoint continuity verified in the curve’s native parameter.
SurfaceInversionRefusal
Why a sound inversion query did not yield unique parameters.
SurfaceProjectionUnresolvedReason
Why a valid surface projection remains unresolved without exhausting work.

Constants§

MAX_AUDIT_DEPTH
Largest subdivision depth the coverage audit can represent exactly.
MAX_CERTIFIED_SURFACE_PROJECTION_DEPTH
Maximum accepted binary subdivision depth for certified surface projection.
MAX_CERTIFIED_SURFACE_PROJECTION_WORK
Maximum accepted shared work budget for certified surface projection.

Functions§

analyze_curve2
Analyze a regular planar curve at t.
analyze_curve3
Analyze a regular spatial curve at t.
analyze_surface
Analyze a regular oriented surface at (u, v).
audit_coverage
Verify that the regions tile the root parameter box exactly.
bezier_segments2
Decompose a planar B-spline into exact rational/polynomial Bézier segments.
bezier_segments3
Decompose a spatial B-spline into exact rational/polynomial Bézier segments.
certify_surface_arcs
Certify the transversality structure of a curved surface pair.
construct_curve_surface_points
Construct curve/surface intersection points for a clamped NURBS pair.
construct_surface_surface_curves
Construct intersection curves for two clamped NURBS surfaces.
curve2_seam_continuity
Verify native-parameter endpoint continuity of a planar B-spline curve.
curve3_seam_continuity
Verify native-parameter endpoint continuity of a spatial B-spline curve.
distance_curve2_certified
Certify the global minimum distance between two planar B-spline curves.
distance_curve3_certified
Certify the global minimum distance between two spatial B-spline curves.
elevate_degree2
Raise a planar curve’s degree by one without changing its image.
elevate_degree3
Raise a spatial curve’s degree by one without changing its image.
elevate_surface_degree_u
Raise the surface’s u degree by one without changing it.
elevate_surface_degree_v
Raise the surface’s v degree by one; as elevate_surface_degree_u.
exact_curve_curve_intersection2
The exact intersection of two analytic plane curves.
exact_curve_curve_intersection3
The exact intersection of two analytic space curves.
exact_curve_surface_intersection
The exact intersection of an analytic curve with an elementary surface.
exact_surface_intersection
Derive the exact intersection curve of two elementary surfaces.
extract_stretch
The stretch of one of curves that runs from start through first and then second to end (all in parameters, each possibly a whole period off), as a curve of its own running from start to end. closed asks for a whole loop from start back to itself, in the direction that meets first before second.
implicit_surface_intersection
Every component of the section of carrier by other in a window of carrier’s parameters, as implicit curves on carrier.
implicit_view
A section-family curve over span as an ImplicitSection3, with the same point set and direction; None for other families or where the trace is refused.
insert_knot2
Insert one interior knot into a planar curve in homogeneous coordinates.
insert_knot3
Insert one interior knot into a spatial curve in homogeneous coordinates.
insert_surface_knot_u
Insert one U-axis knot into every homogeneous control-net column.
insert_surface_knot_v
Insert one V-axis knot into every homogeneous control-net row.
interpolate_curve3
Interpolate a cubic B-spline through points in order.
intersect_curve2_certified
Classify intersections of two clamped planar B-spline curves.
intersect_curve_surface_certified
Certify all isolated transverse roots of curve(t) = surface(u, v).
intersect_surface_surface_certified
Certify bounded intersections of two clamped, internally continuous NURBS surfaces.
invert_periodic_surface_certified
Globally invert a point against one canonical period of a cyclic surface.
invert_surface_certified
Globally invert a point against a clamped B-spline surface.
iso_curve_at_u
The iso-curve u = parameter, parametrised by v.
iso_curve_at_v
The iso-curve v = parameter, parametrised by u; as iso_curve_at_u.
loft_surface
Loft a surface through ordered section curves.
project_curve2
Find the best planar-curve projection candidate within explicit budgets.
project_curve3
Find the best spatial-curve projection candidate within explicit budgets.
project_curve2_certified
Globally bound the closest point on a clamped planar B-spline curve.
project_curve3_certified
Globally bound the closest point on a clamped spatial B-spline curve.
project_periodic_surface_certified
Exhaustively bound the global point-to-surface minimum over one canonical period of an explicitly validated cyclic B-spline surface.
project_surface
Find the best tensor-product surface projection candidate within budgets.
project_surface_certified
Exhaustively bound the global point-to-surface minimum over the closed native domain of a finite clamped NURBS surface.
reduce_degree2
Lower a planar curve’s degree by one, or refuse.
reduce_degree3
Lower a spatial curve’s degree by one, or refuse.
reduce_surface_degree_u
Lower the surface’s u degree by one, within tolerance, or refuse.
reduce_surface_degree_v
Lower the surface’s v degree by one; as reduce_surface_degree_u.
remove_knot2
Remove one interior knot from a planar curve, or refuse.
remove_knot3
Remove one interior knot from a spatial curve, or refuse.
remove_surface_knot_u
Remove the u knot parameter up to times times, keeping the surface within tolerance of the input.
remove_surface_knot_v
Remove the v knot parameter up to times times; as remove_surface_knot_u.
reverse2
Reverse a planar B-spline curve without changing its image.
reverse3
Reverse a spatial B-spline curve without changing its image.
reverse_surface_u
Reverse the surface’s U parameter without changing its image.
reverse_surface_v
Reverse the surface’s V parameter without changing its image.
section_curve_curve_intersection2
Where two plane curves meet, each over its span.
section_curve_curve_intersection3
Where two space curves meet, each over its span, within tolerance.
section_curve_surface_intersection
Where a section-family curve meets a surface, with parameters on the curve itself.
section_field_of
other’s implicit equation read in carrier’s parameters, where both are analytic: zero exactly where carrier’s point lies on other (for a cone, on either nappe).
spline_pair_intersection
Every component of the section of two B-spline surfaces within windows of their parameters (their whole domains when None), each a PairSection3 whose first surface is first (ADR 0077).
split2
Split a planar curve exactly at an interior parameter.
split3
Split a spatial curve exactly at an interior parameter.
trace_section_pcurves
Every component of the section of surface by other in a window of surface’s parameters, as curves in those parameters.
wrap_curve2_parameter
Wrap a finite planar-curve parameter into its active domain.
wrap_curve3_parameter
Wrap a finite spatial-curve parameter into its active domain.