#[non_exhaustive]pub struct FloatCurveOverlayOptions<F: FloatNumber> {
pub min_chord_length: Option<F>,
pub angle_tolerance: F,
pub max_approximation_depth: u32,
pub refinement_subdivision_power: u32,
pub refinement_angle_tolerance_power: u32,
pub max_refinement_iterations: u32,
}Expand description
Curve approximation options expressed in float input coordinates.
Construct this non-exhaustive configuration from Default and override
only the values your application needs.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.min_chord_length: Option<F>Absolute chord length below which a curve segment is accepted without further subdivision.
None preserves the scale-relative default used by the integer engine.
angle_tolerance: FMaximum dimensionless sine deviation used to classify a curve segment
as nearly linear. The value must be finite and in the range (0, 1].
max_approximation_depth: u32Hard safety limit for local approximation subdivision. The value must
not exceed CurveOverlayOptions::MAX_APPROXIMATION_DEPTH.
refinement_subdivision_power: u32Power-of-two subdivision used when another chord endpoint lies inside a curve piece’s convex hull. The default produces eight pieces.
refinement_angle_tolerance_power: u32Negative power-of-two sine tolerance below which a curve piece is too flat to containment-refine.
max_refinement_iterations: u32Maximum number of containment-refinement passes.
Implementations§
Source§impl<F: FloatNumber> FloatCurveOverlayOptions<F>
impl<F: FloatNumber> FloatCurveOverlayOptions<F>
Sourcepub fn with_min_chord_length(self, length: F) -> Self
pub fn with_min_chord_length(self, length: F) -> Self
Sets the absolute minimum accepted chord length.
Sourcepub fn with_angle_tolerance(self, tolerance: F) -> Self
pub fn with_angle_tolerance(self, tolerance: F) -> Self
Sets the maximum sine deviation used for near-linear classification.
Sourcepub fn with_max_approximation_depth(self, depth: u32) -> Self
pub fn with_max_approximation_depth(self, depth: u32) -> Self
Sets the local approximation subdivision limit.
Sourcepub fn with_refinement_subdivision_power(self, power: u32) -> Self
pub fn with_refinement_subdivision_power(self, power: u32) -> Self
Sets the power-of-two subdivision used by containment refinement.
Sourcepub fn with_refinement_angle_tolerance_power(self, power: u32) -> Self
pub fn with_refinement_angle_tolerance_power(self, power: u32) -> Self
Sets the near-linear angle threshold used by containment refinement.
Sourcepub fn with_max_refinement_iterations(self, iterations: u32) -> Self
pub fn with_max_refinement_iterations(self, iterations: u32) -> Self
Sets the maximum number of containment-refinement passes.
Trait Implementations§
Source§impl<F: Clone + FloatNumber> Clone for FloatCurveOverlayOptions<F>
impl<F: Clone + FloatNumber> Clone for FloatCurveOverlayOptions<F>
Source§fn clone(&self) -> FloatCurveOverlayOptions<F>
fn clone(&self) -> FloatCurveOverlayOptions<F>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more