equal
deleted
inserted
replaced
17 } |
17 } |
18 |
18 |
19 impl LandGenerator for TemplatedLandGenerator { |
19 impl LandGenerator for TemplatedLandGenerator { |
20 fn generate_land<T: Copy + PartialEq, I: Iterator<Item = u32>>( |
20 fn generate_land<T: Copy + PartialEq, I: Iterator<Item = u32>>( |
21 &self, |
21 &self, |
22 parameters: LandGenerationParameters<T>, |
22 parameters: &LandGenerationParameters<T>, |
23 random_numbers: &mut I, |
23 random_numbers: &mut I, |
24 ) -> Land2D<T> { |
24 ) -> Land2D<T> { |
25 let mut land = Land2D::new(self.outline_template.size, parameters.basic); |
25 let mut land = Land2D::new(self.outline_template.size, parameters.basic); |
26 |
26 |
27 let mut points = OutlinePoints::from_outline_template( |
27 let mut points = OutlinePoints::from_outline_template( |
47 points.flip(); |
47 points.flip(); |
48 } |
48 } |
49 } |
49 } |
50 } |
50 } |
51 |
51 |
52 points.distort(parameters.distance_divisor, random_numbers); |
52 if !parameters.skip_distort { |
|
53 points.distort(parameters.distance_divisor, random_numbers); |
|
54 } |
|
55 |
|
56 if !parameters.skip_bezier { |
|
57 points.bezierize(); |
|
58 } |
53 |
59 |
54 points.draw(&mut land, parameters.zero); |
60 points.draw(&mut land, parameters.zero); |
55 |
61 |
56 for p in &points.fill_points { |
62 for p in &points.fill_points { |
57 land.fill(*p, parameters.zero, parameters.zero) |
63 land.fill(*p, parameters.zero, parameters.zero) |