use crate::ode::*;
use once_cell::sync::Lazy;
static mut INDICES: Lazy<Vec<dTriIndex>> = Lazy::new(|| vec![ 0, 2, 6,
6, 4, 0,
1, 0, 4,
4, 5, 1,
0, 1, 3,
3, 2, 0,
3, 1, 5,
5, 7, 3,
2, 3, 7,
7, 6, 2,
5, 4, 6,
6, 7, 5]);
static mut PLANES: Lazy<Vec<dReal>> = Lazy::new(|| vec![ 1.0, 0.0, 0.0, 0.25,
0.0, 1.0, 0.0, 0.25,
0.0, 0.0, 1.0, 0.25,
0.0, 0.0, -1.0, 0.25,
0.0, -1.0, 0.0, 0.25,
-1.0, 0.0, 0.0, 0.25]);
static mut VTX: Lazy<Vec<dReal>> = Lazy::new(|| vec![ 0.25, 0.25, 0.25,
-0.25, 0.25, 0.25,
0.25, -0.25, 0.25,
-0.25, -0.25, 0.25,
0.25, 0.25, -0.25,
-0.25, 0.25, -0.25,
0.25, -0.25, -0.25,
-0.25, -0.25, -0.25]);
static mut POLYGONS: Lazy<Vec<u32>> = Lazy::new(|| vec![ 4, 0, 2, 6, 4, 4, 1, 0, 4, 5, 4, 0, 1, 3, 2, 4, 3, 1, 5, 7, 4, 2, 3, 7, 6, 4, 5, 4, 6, 7]);
pub static mut tmv: Lazy<trimeshvi> = Lazy::new(||
unsafe { trimeshvi::new(&mut VTX, &mut INDICES) });
pub static mut fvp: Lazy<convexfvp> = Lazy::new(||
unsafe { convexfvp::new(&mut PLANES, &mut VTX, &mut POLYGONS) });