use immense::*;
use rand::*;
use std::fs::File;
#[derive(Debug)]
struct RandCube;
impl ToRule for RandCube {
fn to_rule(&self) -> Rule {
rule![
*thread_rng()
.choose(&[Tf::tx(0.1), Tf::tx(-0.1), Tf::tx(0.2), Tf::tx(-0.2)])
.unwrap() =>
cube()
]
}
}
fn main() {
let meshes = Rule::new()
.push(Replicate::n(4, Tf::ty(1.0)), RandCube {})
.generate();
let mut output = File::create("randtower.obj").expect("obj file");
write_meshes(ExportConfig::default(), meshes, &mut output).expect("rendered scene");
}