From 8744b15f43db4708ed538699d689d7af81caf121 Mon Sep 17 00:00:00 2001 From: Razaekel Date: Mon, 20 Jul 2020 22:12:39 -0400 Subject: [PATCH] Change Checkerboard to take a size with ::new() ::default() keeps the original size. --- examples/cache.rs | 2 +- examples/checkerboard.rs | 2 +- examples/displace.rs | 2 +- examples/scale_point.rs | 2 +- examples/select.rs | 2 +- examples/translate_point.rs | 2 +- src/noise_fns/generators/checkerboard.rs | 18 ++++++++++-------- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/cache.rs b/examples/cache.rs index 2693d501..4dff4791 100644 --- a/examples/cache.rs +++ b/examples/cache.rs @@ -3,7 +3,7 @@ extern crate noise; use noise::{utils::*, Cache, Checkerboard}; fn main() { - let cboard = Checkerboard::new(); + let cboard = Checkerboard::default(); let cache = Cache::new(&cboard); PlaneMapBuilder::new(&cache) diff --git a/examples/checkerboard.rs b/examples/checkerboard.rs index 30ed4614..6873a720 100644 --- a/examples/checkerboard.rs +++ b/examples/checkerboard.rs @@ -5,7 +5,7 @@ extern crate noise; use noise::{utils::*, Checkerboard}; fn main() { - let checker = Checkerboard::new(); + let checker = Checkerboard::default(); PlaneMapBuilder::new(&checker) .build() diff --git a/examples/displace.rs b/examples/displace.rs index ad13414f..bd381ebc 100644 --- a/examples/displace.rs +++ b/examples/displace.rs @@ -3,7 +3,7 @@ extern crate noise; use noise::{utils::*, Checkerboard, Constant, Cylinders, Displace, Perlin}; fn main() { - let cboard = Checkerboard::new(); + let cboard = Checkerboard::default(); let constant = Constant::new(0.0); let cylinders = Cylinders::new(); let perlin = Perlin::new(); diff --git a/examples/scale_point.rs b/examples/scale_point.rs index 15402c81..a2fcbcbc 100644 --- a/examples/scale_point.rs +++ b/examples/scale_point.rs @@ -3,7 +3,7 @@ extern crate noise; use noise::{utils::*, Checkerboard, ScalePoint}; fn main() { - let cboard = Checkerboard::new(); + let cboard = Checkerboard::default(); let scale_point = ScalePoint::new(cboard).set_all_scales(1.0, 2.0, 3.0, 1.0); PlaneMapBuilder::new(&scale_point) diff --git a/examples/select.rs b/examples/select.rs index 846a5791..aba00106 100644 --- a/examples/select.rs +++ b/examples/select.rs @@ -3,7 +3,7 @@ extern crate noise; use noise::{utils::*, Checkerboard, Constant, Cylinders, Perlin, Select}; fn main() { - let checkerboard = &Checkerboard::new(); + let checkerboard = &Checkerboard::default(); let cylinders = &Cylinders::new(); let perlin = &Perlin::new(); let constant = &Constant::new(0.5); diff --git a/examples/translate_point.rs b/examples/translate_point.rs index abca68ab..b16fec2f 100644 --- a/examples/translate_point.rs +++ b/examples/translate_point.rs @@ -3,7 +3,7 @@ extern crate noise; use noise::{utils::*, Checkerboard, TranslatePoint}; fn main() { - let cboard = Checkerboard::new(); + let cboard = Checkerboard::default(); let translate_point = TranslatePoint::new(cboard).set_all_translations(0.5, 0.5, 0.0, 0.0); PlaneMapBuilder::new(&translate_point) diff --git a/src/noise_fns/generators/checkerboard.rs b/src/noise_fns/generators/checkerboard.rs index 76284959..8cfb7265 100644 --- a/src/noise_fns/generators/checkerboard.rs +++ b/src/noise_fns/generators/checkerboard.rs @@ -17,22 +17,24 @@ pub struct Checkerboard { impl Checkerboard { const DEFAULT_SIZE: usize = 0; - pub fn new() -> Self { - Self { - size: 1 << Self::DEFAULT_SIZE, - } + pub fn new(size: usize) -> Self { + Self { size: 1 << size } } pub fn set_size(self, size: usize) -> Self { - Self { - size: 1 << size, - } + Self { size: 1 << size } + } + + pub fn size(&self) -> usize { + self.size } } impl Default for Checkerboard { fn default() -> Self { - Self::new() + Self { + size: 1 << Checkerboard::DEFAULT_SIZE, + } } }