Struct noise::Curve

source ·
pub struct Curve<T, Source, const DIM: usize>
where Source: NoiseFn<T, DIM>,
{ pub source: Source, /* private fields */ }
Expand description

Noise function that maps the output value from the source function onto an arbitrary function curve.

This noise function maps the output value from the source function onto an application-defined curve. The curve is defined by a number of control points; each control point has an input value that maps to an output value.

To add control points to the curve, use the add_control_point method.

Since the curve is a cubic spline, an application must have a minimum of four control points to the curve. If there is less than four control points, the get() method panics. Each control point can have any input and output value, although no two control points can have the same input.

Fields§

§source: Source

Outputs a value.

Implementations§

source§

impl<T, Source, const DIM: usize> Curve<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source

pub fn new(source: Source) -> Self

source

pub fn add_control_point(self, input_value: f64, output_value: f64) -> Self

Trait Implementations§

source§

impl<T: Clone, Source, const DIM: usize> Clone for Curve<T, Source, DIM>
where Source: NoiseFn<T, DIM> + Clone,

source§

fn clone(&self) -> Curve<T, Source, DIM>

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T, Source, const DIM: usize> NoiseFn<T, DIM> for Curve<T, Source, DIM>
where Source: NoiseFn<T, DIM>,

source§

fn get(&self, point: [T; DIM]) -> f64

Auto Trait Implementations§

§

impl<T, Source, const DIM: usize> Freeze for Curve<T, Source, DIM>
where Source: Freeze,

§

impl<T, Source, const DIM: usize> RefUnwindSafe for Curve<T, Source, DIM>
where Source: RefUnwindSafe, T: RefUnwindSafe,

§

impl<T, Source, const DIM: usize> Send for Curve<T, Source, DIM>
where Source: Send, T: Send,

§

impl<T, Source, const DIM: usize> Sync for Curve<T, Source, DIM>
where Source: Sync, T: Sync,

§

impl<T, Source, const DIM: usize> Unpin for Curve<T, Source, DIM>
where Source: Unpin, T: Unpin,

§

impl<T, Source, const DIM: usize> UnwindSafe for Curve<T, Source, DIM>
where Source: UnwindSafe, T: UnwindSafe,

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> 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,

§

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>,

§

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>,

§

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.