diff --git a/glider/src/main.rs b/glider/src/main.rs index 097c2eb..6285354 100644 --- a/glider/src/main.rs +++ b/glider/src/main.rs @@ -1,14 +1,13 @@ -use nalgebra::Vector2; use scad::*; +mod selig; fn main() { - let e393 = parse_selig(&String::from(include_str!("../../e393.selig"))); + let e393 = selig::parse(include_str!("../../e393.selig")); let mut scad_file = ScadFile::new(); scad_file.set_detail(50); let aerofoil = scad::PolygonParameters::new(e393); - //Create an scad object let strut = scad!(Translate(vec3(2.0, 2.0, 3.0)); { scad!(Polygon(aerofoil)) }); @@ -17,18 +16,3 @@ fn main() { scad_file.write_to_file(String::from("out.scad")); } - -type Point = Vector2; -type Airfoil = Vec; - -fn parse_selig(file: &String) -> Airfoil { - let mut points = Vec::new(); - - for line in file.lines().skip(1) { - let mut numbers =line.split(" ").filter(|n| !n.trim().is_empty()); - let x = numbers.next().unwrap().parse().unwrap(); - let y = numbers.next().unwrap().parse().unwrap(); - points.push(Point::new(x,y)) - } - points -} diff --git a/glider/src/selig.rs b/glider/src/selig.rs new file mode 100644 index 0000000..a1bd997 --- /dev/null +++ b/glider/src/selig.rs @@ -0,0 +1,17 @@ +use nalgebra::Vector2; + +pub type Point = Vector2; + +pub type Airfoil = Vec; + +pub fn parse(file: &str) -> Airfoil { + let mut points = Vec::new(); + + for line in file.lines().skip(1) { + let mut numbers =line.split(" ").filter(|n| !n.trim().is_empty()); + let x = numbers.next().unwrap().parse().unwrap(); + let y = numbers.next().unwrap().parse().unwrap(); + points.push(Point::new(x,y)) + } + points +}