1#[doc = " dReal as f64 (defined in ode.hpp)"]
4pub type dReal = f64;
5#[doc = " dTriIndex as u32 (defined in ode.hpp)"]
6pub type dTriIndex = ::std::os::raw::c_uint;
7extern "C" {
8 #[doc = " res = a(&dMatrix3) b(&dVector3)"]
9 pub fn dMULTIPLY0_331(res: *mut dReal, a: *const dReal, b: *const dReal);
10}
11extern "C" {
12 #[doc = " res = a(&dMatrix3) b(&dMatrix3)"]
13 pub fn dMULTIPLY0_333(res: *mut dReal, a: *const dReal, b: *const dReal);
14}
15extern "C" {
16 #[doc = " res = a(&dMatrix4) b(&dVector4 or &dQuaternion)"]
17 pub fn dMULTIPLY0_441(res: *mut dReal, a: *const dReal, b: *const dReal);
18}
19extern "C" {
20 #[doc = " res = a(&dMatrix4) b(&dMatrix4)"]
21 pub fn dMULTIPLY0_444(res: *mut dReal, a: *const dReal, b: *const dReal);
22}
23#[doc = " TriMeshVI"]
24#[repr(C)]
25#[derive(Debug, Copy, Clone)]
26pub struct trimeshvi {
27 #[doc = " number of vertices"]
28 pub vtxCount: ::std::os::raw::c_uint,
29 #[doc = " vertices"]
30 pub vtx: *mut dReal,
31 #[doc = " indices"]
32 pub indices: *mut dTriIndex,
33 #[doc = " number of indices (all dTriIndex elements)"]
34 pub indexCount: ::std::os::raw::c_uint,
35}
36#[test]
37fn bindgen_test_layout_trimeshvi() {
38 const UNINIT: ::std::mem::MaybeUninit<trimeshvi> = ::std::mem::MaybeUninit::uninit();
39 let ptr = UNINIT.as_ptr();
40 assert_eq!(
41 ::std::mem::size_of::<trimeshvi>(),
42 32usize,
43 concat!("Size of: ", stringify!(trimeshvi))
44 );
45 assert_eq!(
46 ::std::mem::align_of::<trimeshvi>(),
47 8usize,
48 concat!("Alignment of ", stringify!(trimeshvi))
49 );
50 assert_eq!(
51 unsafe { ::std::ptr::addr_of!((*ptr).vtxCount) as usize - ptr as usize },
52 0usize,
53 concat!(
54 "Offset of field: ",
55 stringify!(trimeshvi),
56 "::",
57 stringify!(vtxCount)
58 )
59 );
60 assert_eq!(
61 unsafe { ::std::ptr::addr_of!((*ptr).vtx) as usize - ptr as usize },
62 8usize,
63 concat!(
64 "Offset of field: ",
65 stringify!(trimeshvi),
66 "::",
67 stringify!(vtx)
68 )
69 );
70 assert_eq!(
71 unsafe { ::std::ptr::addr_of!((*ptr).indices) as usize - ptr as usize },
72 16usize,
73 concat!(
74 "Offset of field: ",
75 stringify!(trimeshvi),
76 "::",
77 stringify!(indices)
78 )
79 );
80 assert_eq!(
81 unsafe { ::std::ptr::addr_of!((*ptr).indexCount) as usize - ptr as usize },
82 24usize,
83 concat!(
84 "Offset of field: ",
85 stringify!(trimeshvi),
86 "::",
87 stringify!(indexCount)
88 )
89 );
90}
91#[doc = " ConvexFVP"]
92#[repr(C)]
93#[derive(Debug, Copy, Clone)]
94pub struct convexfvp {
95 #[doc = " number of planes"]
96 pub faceCount: ::std::os::raw::c_uint,
97 #[doc = " planes"]
98 pub faces: *mut dReal,
99 #[doc = " number of vertices"]
100 pub vtxCount: ::std::os::raw::c_uint,
101 #[doc = " vertices"]
102 pub vtx: *mut dReal,
103 #[doc = " polygons"]
104 pub polygons: *mut ::std::os::raw::c_uint,
105}
106#[test]
107fn bindgen_test_layout_convexfvp() {
108 const UNINIT: ::std::mem::MaybeUninit<convexfvp> = ::std::mem::MaybeUninit::uninit();
109 let ptr = UNINIT.as_ptr();
110 assert_eq!(
111 ::std::mem::size_of::<convexfvp>(),
112 40usize,
113 concat!("Size of: ", stringify!(convexfvp))
114 );
115 assert_eq!(
116 ::std::mem::align_of::<convexfvp>(),
117 8usize,
118 concat!("Alignment of ", stringify!(convexfvp))
119 );
120 assert_eq!(
121 unsafe { ::std::ptr::addr_of!((*ptr).faceCount) as usize - ptr as usize },
122 0usize,
123 concat!(
124 "Offset of field: ",
125 stringify!(convexfvp),
126 "::",
127 stringify!(faceCount)
128 )
129 );
130 assert_eq!(
131 unsafe { ::std::ptr::addr_of!((*ptr).faces) as usize - ptr as usize },
132 8usize,
133 concat!(
134 "Offset of field: ",
135 stringify!(convexfvp),
136 "::",
137 stringify!(faces)
138 )
139 );
140 assert_eq!(
141 unsafe { ::std::ptr::addr_of!((*ptr).vtxCount) as usize - ptr as usize },
142 16usize,
143 concat!(
144 "Offset of field: ",
145 stringify!(convexfvp),
146 "::",
147 stringify!(vtxCount)
148 )
149 );
150 assert_eq!(
151 unsafe { ::std::ptr::addr_of!((*ptr).vtx) as usize - ptr as usize },
152 24usize,
153 concat!(
154 "Offset of field: ",
155 stringify!(convexfvp),
156 "::",
157 stringify!(vtx)
158 )
159 );
160 assert_eq!(
161 unsafe { ::std::ptr::addr_of!((*ptr).polygons) as usize - ptr as usize },
162 32usize,
163 concat!(
164 "Offset of field: ",
165 stringify!(convexfvp),
166 "::",
167 stringify!(polygons)
168 )
169 );
170}
171extern "C" {
172 #[doc = " (defined in ode.hpp)"]
173 pub fn dDot(a: *const dReal, b: *const dReal, n: ::std::os::raw::c_int) -> dReal;
174}
175extern "C" {
176 #[doc = " set static in cpp"]
177 pub fn SetScaleLimit(sclim: dReal);
178}
179extern "C" {
180 #[doc = " c[3] = a[3] x b[3] same as void dCROSS(c, =, a, b);"]
181 pub fn Cross3(c: *mut dReal, a: *mut dReal, b: *mut dReal);
182}
183extern "C" {
184 #[doc = " n[4] = normal(v[9])"]
185 pub fn Normal4(n: *mut dReal, v: *mut dReal);
186}
187extern "C" {
188 #[doc = " recalc triangle convexfvp (set normal of faces)"]
189 pub fn RecalcFaces(fvp: *mut convexfvp);
190}
191extern "C" {
192 #[doc = " delete vtx, indices when ff is true"]
193 pub fn FreeTriMeshVI(tmv: *mut trimeshvi, ff: bool);
194}
195extern "C" {
196 #[doc = " delete faces, vtx, polygons when ff is true"]
197 pub fn FreeConvexFVP(fvp: *mut convexfvp, ff: bool);
198}
199extern "C" {
200 #[doc = " always new trimeshvi rescale and return it"]
201 pub fn CvtTriMeshVIFromConvexFVP(fvp: *mut convexfvp, sc: dReal) -> *mut trimeshvi;
202}
203extern "C" {
204 #[doc = " always new convexfvp rescale and return it"]
205 pub fn CvtConvexFVPFromTriMeshVI(tmv: *mut trimeshvi, sc: dReal) -> *mut convexfvp;
206}
207extern "C" {
208 #[doc = " overwrite trimeshvi rescale and return it"]
209 pub fn ScaleTriMeshVI(tmv: *mut trimeshvi, sc: dReal) -> *mut trimeshvi;
210}
211extern "C" {
212 #[doc = " (dst is NULL: new, !NULL: overwrite) trimeshvi rescale and return it"]
213 pub fn CopyTriMeshVI(dst: *mut trimeshvi, src: *mut trimeshvi, sc: dReal) -> *mut trimeshvi;
214}
215extern "C" {
216 #[doc = " overwrite convexfvp rescale and return it"]
217 pub fn ScaleConvexFVP(fvp: *mut convexfvp, sc: dReal) -> *mut convexfvp;
218}
219extern "C" {
220 #[doc = " (dst is NULL: new, !NULL: overwrite) convexfvp rescale and return it"]
221 pub fn CopyConvexFVP(dst: *mut convexfvp, src: *mut convexfvp, sc: dReal) -> *mut convexfvp;
222}