pub struct Blend<const D: usize, GA, GB, GC> { /* private fields */ }
Expand description
A generator blending the underlying generator with a given other generator based on the value supplied by a control-generator.
For details, see the documentation of blend()
. Typically, this struct is not meant
to be used directly. Instead, blend()
implemented by Generator
, should be used
to create Blend
.
Implementations§
Trait Implementations§
source§impl<const D: usize, GA, GB, GC> Generator<D> for Blend<D, GA, GB, GC>
impl<const D: usize, GA, GB, GC> Generator<D> for Blend<D, GA, GB, GC>
source§fn sample(&self, point: [f64; D]) -> f64
fn sample(&self, point: [f64; D]) -> f64
Samples the generator at a given
point
and returns the resulting value. Read moresource§fn scale(self, scale: [f64; D]) -> Scale<D, Self>
fn scale(self, scale: [f64; D]) -> Scale<D, Self>
Create a generator which scales input points before passing them to the underlying generator. Read more
source§fn translate(self, translation: [f64; D]) -> Translate<D, Self>
fn translate(self, translation: [f64; D]) -> Translate<D, Self>
Create a generator which translates input points before passing them to the underlying generator. Read more
source§fn neg(self) -> Neg<D, Self>
fn neg(self) -> Neg<D, Self>
Create a generator which negates the results of the underlying generator. Read more
source§fn abs(self) -> Abs<D, Self>
fn abs(self) -> Abs<D, Self>
Create a generator returning the absolute value of the results of the underlying generator. Read more
source§fn exp(self) -> Exp<D, Self>
fn exp(self) -> Exp<D, Self>
Create a generator applying the exponential function on results of the underlying generator. Read more
source§fn add(self, offset: f64) -> Add<D, Self>
fn add(self, offset: f64) -> Add<D, Self>
Create a generator adding
offset
to results of the underlying generator. Read moresource§fn mul(self, scale: f64) -> Mul<D, Self>
fn mul(self, scale: f64) -> Mul<D, Self>
Create a generator multiplying
scale
to results of the underlying generator. Read moresource§fn powi(self, exponent: i32) -> Pow<D, Self, i32>
fn powi(self, exponent: i32) -> Pow<D, Self, i32>
Create a generator raising results of the underlying generator to the power of
exponent
. Read moresource§fn powf(self, exponent: f64) -> Pow<D, Self, f64>
fn powf(self, exponent: f64) -> Pow<D, Self, f64>
Create a generator raising results of the underlying generator to the power of
exponent
. Read moresource§fn clamp(self, min: f64, max: f64) -> Clamp<D, Self>
fn clamp(self, min: f64, max: f64) -> Clamp<D, Self>
Create a generator clamping results of the underlying generator to a given interval. Read more
source§fn lambda<L>(self, lambda: L) -> Lambda<D, Self, L>
fn lambda<L>(self, lambda: L) -> Lambda<D, Self, L>
Create a generator applying the supplied closure to results of the underlying generator. Read more
source§fn sum<G>(self, other: G) -> Sum<D, Self, G>where
G: Generator<D>,
fn sum<G>(self, other: G) -> Sum<D, Self, G>where
G: Generator<D>,
Create a generator adding results of the underlying generator to results of a given other
generator. Read more
source§fn product<G>(self, other: G) -> Product<D, Self, G>where
G: Generator<D>,
fn product<G>(self, other: G) -> Product<D, Self, G>where
G: Generator<D>,
Create a generator multiplying results of the underlying generator to results of a given other
generator. Read more
source§fn min<G>(self, other: G) -> Min<D, Self, G>where
G: Generator<D>,
fn min<G>(self, other: G) -> Min<D, Self, G>where
G: Generator<D>,
Create a generator producing the minimum of results of the underlying generator and results of
a given other generator. Read more
source§fn max<G>(self, other: G) -> Max<D, Self, G>where
G: Generator<D>,
fn max<G>(self, other: G) -> Max<D, Self, G>where
G: Generator<D>,
Create a generator producing the maximum of results of the underlying generator and results of
a given other generator. Read more
source§fn power<G>(self, other: G) -> Power<D, Self, G>where
G: Generator<D>,
fn power<G>(self, other: G) -> Power<D, Self, G>where
G: Generator<D>,
Create a generator raising results of the underlying generator to the power of results of a
given other generator. Read more
source§fn fbm(
self,
octaves: u32,
frequency: f64,
lacunarity: f64,
persistence: f64
) -> Fbm<D, Self>
fn fbm( self, octaves: u32, frequency: f64, lacunarity: f64, persistence: f64 ) -> Fbm<D, Self>
Create a generator applying fractal brownian motion on the underlying generator. Read more
source§fn billow(
self,
octaves: u32,
frequency: f64,
lacunarity: f64,
persistence: f64
) -> Billow<D, Self>
fn billow( self, octaves: u32, frequency: f64, lacunarity: f64, persistence: f64 ) -> Billow<D, Self>
source§fn ridgedmulti(
self,
octaves: u32,
frequency: f64,
lacunarity: f64,
attenuation: f64
) -> RidgedMulti<D, Self>
fn ridgedmulti( self, octaves: u32, frequency: f64, lacunarity: f64, attenuation: f64 ) -> RidgedMulti<D, Self>
source§fn blend<G, GC>(self, other: G, control: GC) -> Blend<D, Self, G, GC>
fn blend<G, GC>(self, other: G, control: GC) -> Blend<D, Self, G, GC>
Create a generator blending the underlying generator with a given other generator based on the
value supplied by a control-generator. Read more
source§fn select<G, GC>(
self,
other: G,
control: GC,
selection_min: f64,
selection_max: f64
) -> Select<D, Self, G, GC>
fn select<G, GC>( self, other: G, control: GC, selection_min: f64, selection_max: f64 ) -> Select<D, Self, G, GC>
Create a generator selecting the result of either the underlying generator or that of a given
other generator based on whether the value supplied by a control-generator lies within the
provided interval. Read more
source§impl<GA: Generator<1>, GB: Generator<1>, GC: Generator<1>> Generator1D for Blend<1, GA, GB, GC>
impl<GA: Generator<1>, GB: Generator<1>, GC: Generator<1>> Generator1D for Blend<1, GA, GB, GC>
source§impl<GA: Generator<2>, GB: Generator<2>, GC: Generator<2>> Generator2D for Blend<2, GA, GB, GC>
impl<GA: Generator<2>, GB: Generator<2>, GC: Generator<2>> Generator2D for Blend<2, GA, GB, GC>
source§fn rotate(self, rotation: [f64; 1]) -> Rotate<2, 1, Self>
fn rotate(self, rotation: [f64; 1]) -> Rotate<2, 1, Self>
Create a generator which rotates input points before passing them to the underlying generator. Read more
source§impl<GA: Generator<3>, GB: Generator<3>, GC: Generator<3>> Generator3D for Blend<3, GA, GB, GC>
impl<GA: Generator<3>, GB: Generator<3>, GC: Generator<3>> Generator3D for Blend<3, GA, GB, GC>
source§fn rotate(self, rotation: [f64; 3]) -> Rotate<3, 3, Self>
fn rotate(self, rotation: [f64; 3]) -> Rotate<3, 3, Self>
Create a generator which rotates input points before passing them to the underlying generator. Read more
source§fn displace_x<GA>(self, displacement_generator: GA) -> Displace<3, 0, Self, GA>where
GA: Generator<3>,
fn displace_x<GA>(self, displacement_generator: GA) -> Displace<3, 0, Self, GA>where
GA: Generator<3>,
Create a generator providing the results of the underlying generator after displacing the
x-coordinate by the result of the provided generator. Read more
source§impl<GA: Generator<4>, GB: Generator<4>, GC: Generator<4>> Generator4D for Blend<4, GA, GB, GC>
impl<GA: Generator<4>, GB: Generator<4>, GC: Generator<4>> Generator4D for Blend<4, GA, GB, GC>
source§fn rotate(self, rotation: [f64; 6]) -> Rotate<4, 6, Self>
fn rotate(self, rotation: [f64; 6]) -> Rotate<4, 6, Self>
Create a generator which rotates input points before passing them to the underlying generator.
source§fn displace_x<GA>(self, displacement_generator: GA) -> Displace<4, 0, Self, GA>where
GA: Generator<4>,
fn displace_x<GA>(self, displacement_generator: GA) -> Displace<4, 0, Self, GA>where
GA: Generator<4>,
Create a generator providing the results of the underlying generator after displacing the
x-coordinate by the result of the provided generator. Read more
source§fn displace_y<GA>(self, displacement_generator: GA) -> Displace<4, 1, Self, GA>where
GA: Generator<4>,
fn displace_y<GA>(self, displacement_generator: GA) -> Displace<4, 1, Self, GA>where
GA: Generator<4>,
Create a generator providing the results of the underlying generator after displacing the
y-coordinate by the result of the provided generator. Read more
impl<const D: usize, GA: Copy, GB: Copy, GC: Copy> Copy for Blend<D, GA, GB, GC>
Auto Trait Implementations§
impl<const D: usize, GA, GB, GC> RefUnwindSafe for Blend<D, GA, GB, GC>
impl<const D: usize, GA, GB, GC> Send for Blend<D, GA, GB, GC>
impl<const D: usize, GA, GB, GC> Sync for Blend<D, GA, GB, GC>
impl<const D: usize, GA, GB, GC> Unpin for Blend<D, GA, GB, GC>
impl<const D: usize, GA, GB, GC> UnwindSafe for Blend<D, GA, GB, GC>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more