barnsley 0.1.0

iterated function system image generator
Documentation
use std::str::FromStr;
use serde::{Serialize, Deserialize};
use crate::transform::*;
use crate::config::*;

#[derive(Serialize, Deserialize)]
pub struct Template {
   pub image_settings: ImageSettings,
   pub evaluation_settings: EvaluationSettings,
   pub random_transforms: Vec<String>,
}

impl Template {
    pub fn generate(&self) -> Config {
        let mut transforms: Vec<TransformEnum> = vec![];
        for transform_name in self.random_transforms.clone() {
            transforms.insert(transforms.len(), TransformEnum::from_str(&transform_name).unwrap().random());
        }
        Config{image_settings: self.image_settings.clone(), evaluation_settings: self.evaluation_settings, transforms}
    }
}