/* automatically generated by rust-bindgen 0.65.1 */ #[doc = " dReal as f64 (defined in ode.hpp)"] pub type dReal = f64; #[doc = " dTriIndex as u32 (defined in ode.hpp)"] pub type dTriIndex = ::std::os::raw::c_uint; extern "C" { #[doc = " res = a(&dMatrix3) b(&dVector3)"] pub fn dMULTIPLY0_331(res: *mut dReal, a: *const dReal, b: *const dReal); } extern "C" { #[doc = " res = a(&dMatrix3) b(&dMatrix3)"] pub fn dMULTIPLY0_333(res: *mut dReal, a: *const dReal, b: *const dReal); } extern "C" { #[doc = " res = a(&dMatrix4) b(&dVector4 or &dQuaternion)"] pub fn dMULTIPLY0_441(res: *mut dReal, a: *const dReal, b: *const dReal); } extern "C" { #[doc = " res = a(&dMatrix4) b(&dMatrix4)"] pub fn dMULTIPLY0_444(res: *mut dReal, a: *const dReal, b: *const dReal); } #[doc = " TriMeshVI"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct trimeshvi { #[doc = " number of vertices"] pub vtxCount: ::std::os::raw::c_uint, #[doc = " vertices"] pub vtx: *mut dReal, #[doc = " indices"] pub indices: *mut dTriIndex, #[doc = " number of indices (all dTriIndex elements)"] pub indexCount: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_trimeshvi() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(trimeshvi)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(trimeshvi)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).vtxCount) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(trimeshvi), "::", stringify!(vtxCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).vtx) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(trimeshvi), "::", stringify!(vtx) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).indices) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(trimeshvi), "::", stringify!(indices) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).indexCount) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(trimeshvi), "::", stringify!(indexCount) ) ); } #[doc = " ConvexFVP"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct convexfvp { #[doc = " number of planes"] pub faceCount: ::std::os::raw::c_uint, #[doc = " planes"] pub faces: *mut dReal, #[doc = " number of vertices"] pub vtxCount: ::std::os::raw::c_uint, #[doc = " vertices"] pub vtx: *mut dReal, #[doc = " polygons"] pub polygons: *mut ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_convexfvp() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(convexfvp)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(convexfvp)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).faceCount) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(convexfvp), "::", stringify!(faceCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).faces) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(convexfvp), "::", stringify!(faces) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).vtxCount) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(convexfvp), "::", stringify!(vtxCount) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).vtx) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(convexfvp), "::", stringify!(vtx) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).polygons) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(convexfvp), "::", stringify!(polygons) ) ); } extern "C" { #[doc = " (defined in ode.hpp)"] pub fn dDot(a: *const dReal, b: *const dReal, n: ::std::os::raw::c_int) -> dReal; } extern "C" { #[doc = " set static in cpp"] pub fn SetScaleLimit(sclim: dReal); } extern "C" { #[doc = " c[3] = a[3] x b[3] same as void dCROSS(c, =, a, b);"] pub fn Cross3(c: *mut dReal, a: *mut dReal, b: *mut dReal); } extern "C" { #[doc = " n[4] = normal(v[9])"] pub fn Normal4(n: *mut dReal, v: *mut dReal); } extern "C" { #[doc = " recalc triangle convexfvp (set normal of faces)"] pub fn RecalcFaces(fvp: *mut convexfvp); } extern "C" { #[doc = " delete vtx, indices when ff is true"] pub fn FreeTriMeshVI(tmv: *mut trimeshvi, ff: bool); } extern "C" { #[doc = " delete faces, vtx, polygons when ff is true"] pub fn FreeConvexFVP(fvp: *mut convexfvp, ff: bool); } extern "C" { #[doc = " always new trimeshvi rescale and return it"] pub fn CvtTriMeshVIFromConvexFVP(fvp: *mut convexfvp, sc: dReal) -> *mut trimeshvi; } extern "C" { #[doc = " always new convexfvp rescale and return it"] pub fn CvtConvexFVPFromTriMeshVI(tmv: *mut trimeshvi, sc: dReal) -> *mut convexfvp; } extern "C" { #[doc = " overwrite trimeshvi rescale and return it"] pub fn ScaleTriMeshVI(tmv: *mut trimeshvi, sc: dReal) -> *mut trimeshvi; } extern "C" { #[doc = " (dst is NULL: new, !NULL: overwrite) trimeshvi rescale and return it"] pub fn CopyTriMeshVI(dst: *mut trimeshvi, src: *mut trimeshvi, sc: dReal) -> *mut trimeshvi; } extern "C" { #[doc = " overwrite convexfvp rescale and return it"] pub fn ScaleConvexFVP(fvp: *mut convexfvp, sc: dReal) -> *mut convexfvp; } extern "C" { #[doc = " (dst is NULL: new, !NULL: overwrite) convexfvp rescale and return it"] pub fn CopyConvexFVP(dst: *mut convexfvp, src: *mut convexfvp, sc: dReal) -> *mut convexfvp; }