1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
pub mod consts;
pub mod geometry;

pub type Vector3 = na::Vec3<f64>;
pub type UnitVector3<S> = na::Unit<na::Matrix<f64, na::U3, na::U1, S>>;
pub type Vector4 = na::Vec4<f64>;
pub type Quaternion = na::Quaternion<f64>;
pub type UnitQuaternion = na::UnitQuaternion<f64>;
pub type Matrix4x4 = na::Matrix4<f64>;

pub use geometry::Geometry;

pub fn is_missing_transducer(x: usize, y: usize) -> bool {
    y == 1 && (x == 1 || x == 2 || x == 16)
}

fn convert_to_vec3(v: Vector4) -> Vector3 {
    Vector3::new(v.x, v.y, v.z)
}