Skip to main content

RationalBezierSpan2

Struct RationalBezierSpan2 

Source
pub struct RationalBezierSpan2 { /* private fields */ }
Expand description

One exact rational Bezier span extracted from a retained NURBS curve.

control_points and weights have length degree + 1. The endpoint knot values are retained with the span so downstream code can keep the source parameter interval attached to the Bezier evidence.

Implementations§

Source§

impl RationalBezierSpan2

Source

pub const fn degree(&self) -> usize

Returns the Bezier degree.

Source

pub fn control_points(&self) -> &[Point2]

Returns exact affine control points for this retained rational span.

Source

pub fn weights(&self) -> &[Real]

Returns exact homogeneous weights for this retained rational span.

Source

pub fn knot_interval(&self) -> (&Real, &Real)

Returns the source knot interval covered by this Bezier span.

Source

pub fn native_subcurve( &self, policy: &CurvePolicy, ) -> CurveResult<Classification<BezierSubcurve2>>

Converts this retained rational Bezier span into native topology when exact.

Degree-two spans map directly to RationalQuadraticBezier2. A degree-three rational span maps to CubicBezier2 only when all homogeneous weights are exactly equal, because the rational Bezier basis denominator is then the same common scale on the full parameter interval. Every other case stays unsupported retained evidence rather than leaking an approximate topology object.

Source

pub fn native_topology_report( &self, span_index: usize, policy: &CurvePolicy, ) -> CurveResult<Classification<RationalBezierSpanTopologyReport2>>

Returns the exact native-topology status for this retained rational span.

Trait Implementations§

Source§

impl Clone for RationalBezierSpan2

Source§

fn clone(&self) -> RationalBezierSpan2

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RationalBezierSpan2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for RationalBezierSpan2

Source§

fn eq(&self, other: &RationalBezierSpan2) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for RationalBezierSpan2

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.