1extern crate nalgebra as na;
2
3use na::Vector3;
4
5pub fn load(path: &str) -> obj::Obj {
6 obj::Obj::load(path).unwrap()
7}
8
9pub fn load_vertex_positions(models: &obj::Obj) -> Vec<Vec<Vector3<f32>>> {
10 models.data.objects.iter().map(|o| {
11 o.groups.iter().map(|g| {
12 g.polys.iter().map(|p| {
13 let i1 = p.0[0].0;
14 let i2 = p.0[1].0;
15 let i3 = p.0[2].0;
16
17 let p0 = models.data.position[i1];
18 let p1 = models.data.position[i2];
19 let p2 = models.data.position[i3];
20
21 vec!(
22 Vector3::new(p0[0],p0[1],p0[2]),
23 Vector3::new(p1[0],p1[1],p1[2]),
24 Vector3::new(p2[0],p2[1],p2[2]))
25 }).flatten().collect::<Vec<_>>()
26 }).flatten().collect::<Vec<_>>()
27 }).collect::<Vec<_>>()
28
29}