ode_base/include/
bridge_bindings.rs

1/* automatically generated by rust-bindgen 0.65.1 */
2
3#[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}