Skip to main content

RoseParams

Struct RoseParams 

Source
pub struct RoseParams {
    pub n: f32,
    pub d: f32,
    pub phase: f32,
    pub radial_offset: f32,
    pub samples: usize,
    pub scale: f32,
    pub rotation: f32,
    pub draw_progress: f32,
    pub color: [f32; 3],
    pub width: f32,
}
Expand description

Everything maurer_rose needs, by name.

This was eleven positional f32s behind #[allow(clippy::too_many_arguments)] (Plan 0031 Phase 6). Four of them — phase, scale, radial_offset, rotation — are adjacent, same-typed, and easy to transpose: the call would still compile and would draw a different curve. Named fields make that a typo you can see. Copy and all-scalar, so it is free at runtime.

Fields§

§n: f32

Petal frequency: the n in sin(n * theta).

§d: f32

Angular step between successive sampled points, in degrees — the Maurer parameter that turns a smooth rose into its chord web.

§phase: f32

Phase (radians) inside the sine, so advancing it reshapes the petal structure. Distinct from rotation, which spins the finished figure in screen space. 0.0 is the plain rose.

§radial_offset: f32

Constant added to the radius, opening the rose off the origin into spiral / annular / rosette forms. A nonzero value makes r exceed [-1, 1] (intended — the renderer clips). 0.0 is the plain rose.

§samples: usize

How many points to walk; the chord count when fully drawn.

§scale: f32

Uniform scale applied after the rotation.

§rotation: f32

Screen-space rotation of the finished figure, in radians.

§draw_progress: f32

Reveal fraction in 0..=1 (line-draw-on); 1.0 draws the whole curve.

§color: [f32; 3]

One RGB colour for every segment.

§width: f32

Per-segment line width.

Trait Implementations§

Source§

impl Clone for RoseParams

Source§

fn clone(&self) -> RoseParams

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 RoseParams

Source§

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

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

impl PartialEq for RoseParams

Source§

fn eq(&self, other: &RoseParams) -> 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 Copy for RoseParams

Source§

impl StructuralPartialEq for RoseParams

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.
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,