rust/landgen/src/template_based.rs
changeset 14121 69db1d2e4cec
parent 14100 4d22be35cfa2
child 14140 3078123e84ea
equal deleted inserted replaced
14120:7bb0e27910aa 14121:69db1d2e4cec
    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)