1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use super::{Noise, NoiseDomain};
/// A noise function returning a constant value.
#[derive(Copy, Clone)]
pub struct Constant<Value: Copy> {
value: Value,
}
impl<Value: Copy> Constant<Value> {
pub fn new(value: Value) -> Self {
Self { value }
}
}
impl<Value: Copy> Noise for Constant<Value> {
type Value = Value;
type Unseeded = Self;
}
impl<Arg, Value: Copy> NoiseDomain<Arg> for Constant<Value> {
fn noise(&self, _: Arg) -> Self::Value {
self.value
}
}