Trait ImplicitModule

Source
pub trait ImplicitModule {
Show 22 methods // Required methods fn get_2d(&mut self, x: f64, y: f64) -> f64; fn get_3d(&mut self, x: f64, y: f64, z: f64) -> f64; fn get_4d(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64; fn get_6d(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64; fn spacing(&self) -> f64; fn set_deriv_spacing(&mut self, s: f64); // Provided methods fn set_seed(&mut self, _: u32) { ... } fn get_dx_2(&mut self, x: f64, y: f64) -> f64 { ... } fn get_dy_2(&mut self, x: f64, y: f64) -> f64 { ... } fn get_dx_3(&mut self, x: f64, y: f64, z: f64) -> f64 { ... } fn get_dy_3(&mut self, x: f64, y: f64, z: f64) -> f64 { ... } fn get_dz_3(&mut self, x: f64, y: f64, z: f64) -> f64 { ... } fn get_dx_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64 { ... } fn get_dy_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64 { ... } fn get_dz_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64 { ... } fn get_dw_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64 { ... } fn get_dx_6( &mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64, ) -> f64 { ... } fn get_dy_6( &mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64, ) -> f64 { ... } fn get_dz_6( &mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64, ) -> f64 { ... } fn get_dw_6( &mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64, ) -> f64 { ... } fn get_du_6( &mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64, ) -> f64 { ... } fn get_dv_6( &mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64, ) -> f64 { ... }
}
Expand description

Implicit modules output double-precision float values. Implicit functions are derived from ImplicitModule trait. Noise values are obtained by calling one of the get() methods provided, with the appropriate number of coordinates. Note that the performance of the system as a hold is affected by the dimensionality of the function called, so a 6D function will take significantly longer than a 2D function. Typical applications will probably stick with 2D or 3D versions; the higher orders are provided for the purpose of seamless mapping.

Required Methods§

Source

fn get_2d(&mut self, x: f64, y: f64) -> f64

Source

fn get_3d(&mut self, x: f64, y: f64, z: f64) -> f64

Source

fn get_4d(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64

Source

fn get_6d(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Source

fn spacing(&self) -> f64

Source

fn set_deriv_spacing(&mut self, s: f64)

Provided Methods§

Source

fn set_seed(&mut self, _: u32)

Source

fn get_dx_2(&mut self, x: f64, y: f64) -> f64

Source

fn get_dy_2(&mut self, x: f64, y: f64) -> f64

Source

fn get_dx_3(&mut self, x: f64, y: f64, z: f64) -> f64

Source

fn get_dy_3(&mut self, x: f64, y: f64, z: f64) -> f64

Source

fn get_dz_3(&mut self, x: f64, y: f64, z: f64) -> f64

Source

fn get_dx_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64

Source

fn get_dy_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64

Source

fn get_dz_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64

Source

fn get_dw_4(&mut self, x: f64, y: f64, z: f64, w: f64) -> f64

Source

fn get_dx_6(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Source

fn get_dy_6(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Source

fn get_dz_6(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Source

fn get_dw_6(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Source

fn get_du_6(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Source

fn get_dv_6(&mut self, x: f64, y: f64, z: f64, w: f64, u: f64, v: f64) -> f64

Implementors§

Source§

impl ImplicitModule for ImplicitAutoCorrect

Source§

impl ImplicitModule for ImplicitBasisFunction

Source§

impl ImplicitModule for ImplicitBias

Source§

impl ImplicitModule for ImplicitBlend

Source§

impl ImplicitModule for ImplicitBrightContrast

Source§

impl ImplicitModule for ImplicitCache

Source§

impl ImplicitModule for ImplicitCellular

Source§

impl ImplicitModule for ImplicitClamp

Source§

impl ImplicitModule for ImplicitCombiner

Source§

impl ImplicitModule for ImplicitConstant

Source§

impl ImplicitModule for ImplicitCos

Source§

impl ImplicitModule for ImplicitCurve

Source§

impl ImplicitModule for ImplicitExtractRgbaChannel

Source§

impl ImplicitModule for ImplicitFloor

Source§

impl ImplicitModule for ImplicitFractal

Source§

impl ImplicitModule for ImplicitFunctionGradient

Source§

impl ImplicitModule for ImplicitGain

Source§

impl ImplicitModule for ImplicitGradient

Source§

impl ImplicitModule for ImplicitMagnitude

Source§

impl ImplicitModule for ImplicitModifier

Source§

impl ImplicitModule for ImplicitNormalizeCoords

Source§

impl ImplicitModule for ImplicitPow

Source§

impl ImplicitModule for ImplicitRgbaDotProduct

Source§

impl ImplicitModule for ImplicitRotateDomain

Source§

impl ImplicitModule for ImplicitSawTooth

Source§

impl ImplicitModule for ImplicitScaleDomain

Source§

impl ImplicitModule for ImplicitScaleOffset

Source§

impl ImplicitModule for ImplicitSelect

Source§

impl ImplicitModule for ImplicitSin

Source§

impl ImplicitModule for ImplicitSphere

Source§

impl ImplicitModule for ImplicitTiers

Source§

impl ImplicitModule for ImplicitTranslateDomain

Source§

impl ImplicitModule for ImplicitTriangle