Skip to main content

Module evaluate

Module evaluate 

Source
Expand description

General NURBS analysis, inverse-query, and exact transformation algorithms. Scalar evaluation for parametric curves and surfaces.

Modules§

arc_length
Arc-length evaluation of intrinsic (natural-equation) curves and of the planar-plus-elevation composition.
arc_parameter
Arc length along any evaluable curve, and its inverse.
banked
Evaluation of banked curves: point, tangent and the rolled section frame.
bound
Certified derivative and chord bounds (#232).
chain
Evaluation of arc-length chains (Chain2).
curve
Scalar reference implementation of curve evaluation (ADR 0012).
elevated
Derivatives, certified bounds and seams of elevated and banked curves in plan distance (#252).
elevation
Heights, grades and chord bounds of elevation laws, including the profile given by its own curvature, which has no closed form (#238).
frenet
Frame and position of a space curve given by curvature and torsion.
intrinsic_relation
Relations over Intrinsic3: trimming, offsetting, and joining.
polyline_length
Exact distance-to-parameter conversion for polylines.
provider
The reference curve-evaluation provider.
station
Stations: a position at a distance along a curve, framed by the curve’s section (#241, ADR 0082).
surface
Scalar reference implementation of surface evaluation (ADR 0012).

Structs§

BankedSection
The section of a banked curve at one station.
CompositeBasis
Pieces of curves laid end to end as one station basis; see the module documentation.
Mitre
The plane a section stands in where a run crosses a seam whose tangents differ; see the module documentation.
Patch
A finite parameter rectangle for tessellation.
ReferenceCurveEvaluator
Reference curve evaluator.
ScalarCurve
Portable scalar curve evaluator.
ScalarSurface
The axiolid_surface::SurfaceEvaluator implementation, so a caller can dispatch through the trait rather than the free functions.
SectionFrame
A point on a curve and the section axes there: tangent, left lateral and up, unit and right-handed (up = tangent x lateral).
StationPiece
One piece of a CompositeBasis: the span [start, end] of an atomic curve, in that curve’s station measure, traversed forwards or backwards, optionally placed by a rigid motion; see the module documentation.
StationSeam
A place inside a curve where two of its pieces meet; see the module documentation.

Enums§

StationCurve
The atomic curve under a StationPiece.

Constants§

ARC_LENGTH_TOLERANCE
Relative tolerance of every arc length and arc-length inverse this module returns: the absolute tolerance for a length l is ARC_LENGTH_TOLERANCE * max(1, |l|), in the curve’s length unit.

Functions§

arc_length2
Signed arc length of a 2D curve from parameter from to to: negative when to < from. See the module documentation for the tolerance.
arc_length3
Signed arc length of a 3D curve from parameter from to to; see arc_length2.
banked_derivative
Derivative of banked_point in plan distance: (p, g + e'). Not unit: its length is sqrt(1 + (g + e')^2).
banked_point
Position on a banked curve at plan distance d: base(d) + e(d) z.
banked_second_derivative
Second derivative of banked_point in plan distance (#252): the centreline’s (p'', z'') plus the pivot’s e'' vertically.
banked_section
The section at plan distance d: rotation point, rolled frame, cant, bank angle and roll.
banked_tangent
Unit tangent of a banked curve at plan distance d.
chain_point
Point on a chain at arc length s from its start. See the module documentation for the accuracy contract and refusals.
chain_tangent
Unit tangent of a chain at arc length s (unit when the start frame is orthonormal; a skewed frame maps it as it maps an intrinsic curve’s).
derivative2
First derivative of a 2D curve.
derivative3
First derivative of a 3D curve.
elevated_chord_bound
Certified 3D chord bound of an elevated curve over plan distances [a, b]: sqrt(P^2 + Z^2), P = h^2 / 8 sup |k| the plan’s and Z the profile’s chord bound at equal plan distance (see the module documentation for the derivation).
elevated_derivative
Derivative of an elevated curve in plan distance: (p', z'). Not unit: its length is sqrt(1 + g^2) on an orthonormal plan frame.
elevated_derivative_bounds
Certified suprema of |c'|, |c''|, |c'''| of an elevated curve in plan distance over [a, b]: sqrt(P_j^2 + Z_j^2) (module documentation). None where the curve may not be C^2 strictly inside the span, or where either half is not bounded.
elevated_point
Position on an elevated curve at plan distance d.
elevated_second_derivative
Second derivative of an elevated curve in plan distance: (k n, z''), the plan’s curvature vector and the profile’s z''.
elevated_tangent
Unit tangent of an elevated curve at plan distance d.
elevation_chord_bound
Certified bound on how far an elevation law strays from the chord of its heights over the plan-distance span [a, b]: sup |z(d) - L(d)|, L the straight line through (a, z(a)) and (b, z(b)).
elevation_grade
Grade dz/dd at plan distance distance, for every law in the family.
elevation_height
Height at plan distance distance, for every law in the family.
evaluate2
Position on a 2D curve.
evaluate3
Position on a 3D curve.
exact_station_seams2
station_seams2, refusing a curve with a seam whose distance is not read from stored data alone.
exact_station_seams3
station_seams3, refusing a curve with a seam whose distance is not read from stored data alone.
flatten2
Flatten a 2D curve over domain so the chord never deviates from the true curve by more than chord_tolerance.
frenet_frame
Frame of a space curve at arc length s from its start.
frenet_point
Position on a space curve at arc length s from its start.
frenet_tangent
Unit tangent of a space curve at arc length s from its start.
grade_corners3
Where an elevated or banked curve turns a corner: the seams (of its profile, and of a banked curve’s pivot) across which the grade of its point path jumps by more than angle radians, ascending.
intrinsic_point
Position on an intrinsic curve at arc length s from its start.
intrinsic_tangent
Unit tangent of an intrinsic curve at arc length s.
join_intrinsic3
Join two space curves into one, when the second continues the first.
offset_intrinsic3
Offset a space curve by distance along its principal normal.
parameter_at_arc_length2
The parameter at signed arc length length from parameter from along a 2D curve: in increasing parameter for a positive length, decreasing for a negative one.
parameter_at_arc_length3
parameter_at_arc_length2 for a 3D curve.
partials
Analytic first partial derivatives (∂S/∂u, ∂S/∂v) at (u, v).
station_frame_is_exact2
Whether a station frame on this 2D curve is exact (#264): its point and axes at the station’s distance itself, in closed form, rounding aside, with no quadrature or root find behind them.
station_frame_is_exact3
station_frame_is_exact2 for a 3D curve: only a line.
station_length2
The length a station on a 2D curve is measured against: None for a line (unbounded), one turn for a circle or an ellipse, the arc length of its domain for a polyline or a B-spline, the stated length of an intrinsic curve or a chain.
station_length3
The length a station on a 3D curve is measured against, as station_length2; an elevated curve’s is its plan’s, a banked curve’s the span of its cant law.
station_seams2
The seams of a 2D curve, every one located (see the module documentation); a B-spline’s corner knots by quadrature, flagged not exact.
station_seams3
The seams of a 3D curve, every one located; see station_seams2.
station_section2
The section of a 2D curve at arc length distance from its start; see the module documentation for the conventions.
station_section3
The section of a 3D curve at distance from its start: plan distance on an elevated or banked curve, arc length on any other; see the module documentation.
station_section2_on
station_section2 reading side of a seam the station lies on (see the module documentation); off a seam the side does not matter.
station_section3_on
station_section3 reading side of a seam the station lies on (see the module documentation); off a seam the side does not matter.
trim_intrinsic3
Restrict a space curve to [start, end] of its arc length.