1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
pub use self::cache::*; pub use self::combiners::*; pub use self::generators::*; pub use self::modifiers::*; pub use self::selectors::*; pub use self::transformers::*; mod cache; mod combiners; mod generators; mod modifiers; mod selectors; mod transformers; /// Base trait for noise functions. /// /// A noise function is a object that calculates and outputs a value given a /// n-Dimensional input value, where n is (2,3,4). /// /// Each type of noise function uses a specific method to calculate an output /// value. Some of these methods include: /// /// * Calculating a value using a coherent-noise function or some other /// mathematical function. /// * Mathematically changing the output value from another noise function /// in various ways. /// * Combining the output values from two noise functions in various ways. pub trait NoiseFn<T> { fn get(&self, point: T) -> f64; } impl<'a, T, M: NoiseFn<T>> NoiseFn<T> for &'a M { #[inline] fn get(&self, point: T) -> f64 { M::get(*self, point) } } /// Trait for functions that require a seed before generating their values pub trait Seedable { /// Set the seed for the function implementing the `Seedable` trait fn set_seed(self, seed: u32) -> Self; /// Getter to retrieve the seed from the function fn seed(&self) -> u32; }