1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#![feature(div_duration)]
pub mod edge;
pub mod error;
mod input;
mod interface;
mod mesh;
pub mod node;
mod state;
mod texture;
mod windowing;
use error::BoxContext;
pub use interface::*;
use mesh::StdMeshes;
pub use state::*;
pub use windowing::*;
use xias::Xias;
fn vec(v: traffloat_types::space::Vector) -> three_d::Vec3 {
three_d::Vec3::new(v.x.lossy_float(), v.y.lossy_float(), v.z.lossy_float())
}
fn mat(m: traffloat_types::space::Matrix) -> three_d::Mat4 {
three_d::Mat4::new(
m[(0, 0)].lossy_float(),
m[(1, 0)].lossy_float(),
m[(2, 0)].lossy_float(),
m[(3, 0)].lossy_float(),
m[(0, 1)].lossy_float(),
m[(1, 1)].lossy_float(),
m[(2, 1)].lossy_float(),
m[(3, 1)].lossy_float(),
m[(0, 2)].lossy_float(),
m[(1, 2)].lossy_float(),
m[(2, 2)].lossy_float(),
m[(3, 2)].lossy_float(),
m[(0, 3)].lossy_float(),
m[(1, 3)].lossy_float(),
m[(2, 3)].lossy_float(),
m[(3, 3)].lossy_float(),
)
}