1pub const mjVERSION_HEADER: u32 = 200;
4pub const mjMINVAL: f64 = 0.000000000000001;
5pub const mjPI: f64 = 3.141592653589793;
6pub const mjMAXVAL: f64 = 10000000000.0;
7pub const mjMINMU: f64 = 0.00001;
8pub const mjMINIMP: f64 = 0.0001;
9pub const mjMAXIMP: f64 = 0.9999;
10pub const mjMAXCONPAIR: u32 = 50;
11pub const mjMAXVFS: u32 = 200;
12pub const mjMAXVFSNAME: u32 = 100;
13pub const mjNEQDATA: u32 = 7;
14pub const mjNDYN: u32 = 10;
15pub const mjNGAIN: u32 = 10;
16pub const mjNBIAS: u32 = 10;
17pub const mjNREF: u32 = 2;
18pub const mjNIMP: u32 = 5;
19pub const mjNSOLVER: u32 = 1000;
20pub const mjNGROUP: u32 = 6;
21pub const mjMAXOVERLAY: u32 = 500;
22pub const mjMAXLINE: u32 = 100;
23pub const mjMAXLINEPNT: u32 = 1000;
24pub const mjMAXPLANEGRID: u32 = 200;
25pub const mjNAUX: u32 = 10;
26pub const mjMAXTEXTURE: u32 = 1000;
27pub const mjMAXUISECT: u32 = 10;
28pub const mjMAXUIITEM: u32 = 80;
29pub const mjMAXUITEXT: u32 = 500;
30pub const mjMAXUINAME: u32 = 40;
31pub const mjMAXUIMULTI: u32 = 20;
32pub const mjMAXUIEDIT: u32 = 5;
33pub const mjMAXUIRECT: u32 = 15;
34pub const mjKEY_ESCAPE: u32 = 256;
35pub const mjKEY_ENTER: u32 = 257;
36pub const mjKEY_TAB: u32 = 258;
37pub const mjKEY_BACKSPACE: u32 = 259;
38pub const mjKEY_INSERT: u32 = 260;
39pub const mjKEY_DELETE: u32 = 261;
40pub const mjKEY_RIGHT: u32 = 262;
41pub const mjKEY_LEFT: u32 = 263;
42pub const mjKEY_DOWN: u32 = 264;
43pub const mjKEY_UP: u32 = 265;
44pub const mjKEY_PAGE_UP: u32 = 266;
45pub const mjKEY_PAGE_DOWN: u32 = 267;
46pub const mjKEY_HOME: u32 = 268;
47pub const mjKEY_END: u32 = 269;
48pub const mjKEY_F1: u32 = 290;
49pub const mjKEY_F2: u32 = 291;
50pub const mjKEY_F3: u32 = 292;
51pub const mjKEY_F4: u32 = 293;
52pub const mjKEY_F5: u32 = 294;
53pub const mjKEY_F6: u32 = 295;
54pub const mjKEY_F7: u32 = 296;
55pub const mjKEY_F8: u32 = 297;
56pub const mjKEY_F9: u32 = 298;
57pub const mjKEY_F10: u32 = 299;
58pub const mjKEY_F11: u32 = 300;
59pub const mjKEY_F12: u32 = 301;
60pub type mjtNum = f64;
61pub type mjtByte = ::std::os::raw::c_uchar;
62impl _mjtDisableBit {
63 pub const CONSTRAINT: _mjtDisableBit = _mjtDisableBit(1);
64}
65impl _mjtDisableBit {
66 pub const EQUALITY: _mjtDisableBit = _mjtDisableBit(2);
67}
68impl _mjtDisableBit {
69 pub const FRICTIONLOSS: _mjtDisableBit = _mjtDisableBit(4);
70}
71impl _mjtDisableBit {
72 pub const LIMIT: _mjtDisableBit = _mjtDisableBit(8);
73}
74impl _mjtDisableBit {
75 pub const CONTACT: _mjtDisableBit = _mjtDisableBit(16);
76}
77impl _mjtDisableBit {
78 pub const PASSIVE: _mjtDisableBit = _mjtDisableBit(32);
79}
80impl _mjtDisableBit {
81 pub const GRAVITY: _mjtDisableBit = _mjtDisableBit(64);
82}
83impl _mjtDisableBit {
84 pub const CLAMPCTRL: _mjtDisableBit = _mjtDisableBit(128);
85}
86impl _mjtDisableBit {
87 pub const WARMSTART: _mjtDisableBit = _mjtDisableBit(256);
88}
89impl _mjtDisableBit {
90 pub const FILTERPARENT: _mjtDisableBit = _mjtDisableBit(512);
91}
92impl _mjtDisableBit {
93 pub const ACTUATION: _mjtDisableBit = _mjtDisableBit(1024);
94}
95impl _mjtDisableBit {
96 pub const REFSAFE: _mjtDisableBit = _mjtDisableBit(2048);
97}
98impl _mjtDisableBit {
99 pub const mjNDISABLE: _mjtDisableBit = _mjtDisableBit(12);
100}
101impl ::std::ops::BitOr<_mjtDisableBit> for _mjtDisableBit {
102 type Output = Self;
103
104 #[inline]
105 fn bitor(self, other: Self) -> Self {
106 _mjtDisableBit(self.0 | other.0)
107 }
108}
109impl ::std::ops::BitOrAssign for _mjtDisableBit {
110 #[inline]
111 fn bitor_assign(&mut self, rhs: _mjtDisableBit) {
112 self.0 |= rhs.0;
113 }
114}
115impl ::std::ops::BitAnd<_mjtDisableBit> for _mjtDisableBit {
116 type Output = Self;
117
118 #[inline]
119 fn bitand(self, other: Self) -> Self {
120 _mjtDisableBit(self.0 & other.0)
121 }
122}
123impl ::std::ops::BitAndAssign for _mjtDisableBit {
124 #[inline]
125 fn bitand_assign(&mut self, rhs: _mjtDisableBit) {
126 self.0 &= rhs.0;
127 }
128}
129#[repr(transparent)]
130#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
131pub struct _mjtDisableBit(pub u32);
132pub use self::_mjtDisableBit as mjtDisableBit;
133impl _mjtEnableBit {
134 pub const OVERRIDE: _mjtEnableBit = _mjtEnableBit(1);
135}
136impl _mjtEnableBit {
137 pub const ENERGY: _mjtEnableBit = _mjtEnableBit(2);
138}
139impl _mjtEnableBit {
140 pub const FWDINV: _mjtEnableBit = _mjtEnableBit(4);
141}
142impl _mjtEnableBit {
143 pub const SENSORNOISE: _mjtEnableBit = _mjtEnableBit(8);
144}
145impl _mjtEnableBit {
146 pub const mjNENABLE: _mjtEnableBit = _mjtEnableBit(4);
147}
148impl ::std::ops::BitOr<_mjtEnableBit> for _mjtEnableBit {
149 type Output = Self;
150
151 #[inline]
152 fn bitor(self, other: Self) -> Self {
153 _mjtEnableBit(self.0 | other.0)
154 }
155}
156impl ::std::ops::BitOrAssign for _mjtEnableBit {
157 #[inline]
158 fn bitor_assign(&mut self, rhs: _mjtEnableBit) {
159 self.0 |= rhs.0;
160 }
161}
162impl ::std::ops::BitAnd<_mjtEnableBit> for _mjtEnableBit {
163 type Output = Self;
164
165 #[inline]
166 fn bitand(self, other: Self) -> Self {
167 _mjtEnableBit(self.0 & other.0)
168 }
169}
170impl ::std::ops::BitAndAssign for _mjtEnableBit {
171 #[inline]
172 fn bitand_assign(&mut self, rhs: _mjtEnableBit) {
173 self.0 &= rhs.0;
174 }
175}
176#[repr(transparent)]
177#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
178pub struct _mjtEnableBit(pub u32);
179pub use self::_mjtEnableBit as mjtEnableBit;
180#[repr(u32)]
181#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
182pub enum _mjtJoint {
183 FREE = 0,
184 BALL = 1,
185 SLIDE = 2,
186 HINGE = 3,
187}
188pub use self::_mjtJoint as mjtJoint;
189#[repr(u32)]
190#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
191pub enum _mjtGeom {
192 PLANE = 0,
193 HFIELD = 1,
194 SPHERE = 2,
195 CAPSULE = 3,
196 ELLIPSOID = 4,
197 CYLINDER = 5,
198 BOX = 6,
199 MESH = 7,
200 mjNGEOMTYPES = 8,
201 ARROW = 100,
202 ARROW1 = 101,
203 ARROW2 = 102,
204 LINE = 103,
205 SKIN = 104,
206 LABEL = 105,
207 NONE = 1001,
208}
209pub use self::_mjtGeom as mjtGeom;
210#[repr(u32)]
211#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
212pub enum _mjtCamLight {
213 FIXED = 0,
214 TRACK = 1,
215 TRACKCOM = 2,
216 TARGETBODY = 3,
217 TARGETBODYCOM = 4,
218}
219pub use self::_mjtCamLight as mjtCamLight;
220#[repr(u32)]
221#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
222pub enum _mjtTexture {
223 TWO_D = 0,
224 CUBE = 1,
225 SKYBOX = 2,
226}
227pub use self::_mjtTexture as mjtTexture;
228#[repr(u32)]
229#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
230pub enum _mjtIntegrator {
231 EULER = 0,
232 RK4 = 1,
233}
234pub use self::_mjtIntegrator as mjtIntegrator;
235#[repr(u32)]
236#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
237pub enum _mjtCollision {
238 ALL = 0,
239 PAIR = 1,
240 DYNAMIC = 2,
241}
242pub use self::_mjtCollision as mjtCollision;
243#[repr(u32)]
244#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
245pub enum _mjtCone {
246 PYRAMIDAL = 0,
247 ELLIPTIC = 1,
248}
249pub use self::_mjtCone as mjtCone;
250#[repr(u32)]
251#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
252pub enum _mjtJacobian {
253 DENSE = 0,
254 SPARSE = 1,
255 AUTO = 2,
256}
257pub use self::_mjtJacobian as mjtJacobian;
258#[repr(u32)]
259#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
260pub enum _mjtSolver {
261 PGS = 0,
262 CG = 1,
263 NEWTON = 2,
264}
265pub use self::_mjtSolver as mjtSolver;
266#[repr(u32)]
267#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
268pub enum _mjtEq {
269 CONNECT = 0,
270 WELD = 1,
271 JOINT = 2,
272 TENDON = 3,
273 DISTANCE = 4,
274}
275pub use self::_mjtEq as mjtEq;
276#[repr(u32)]
277#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
278pub enum _mjtWrap {
279 NONE = 0,
280 JOINT = 1,
281 PULLEY = 2,
282 SITE = 3,
283 SPHERE = 4,
284 CYLINDER = 5,
285}
286pub use self::_mjtWrap as mjtWrap;
287#[repr(u32)]
288#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
289pub enum _mjtTrn {
290 JOINT = 0,
291 JOINTINPARENT = 1,
292 SLIDERCRANK = 2,
293 TENDON = 3,
294 SITE = 4,
295 UNDEFINED = 1000,
296}
297pub use self::_mjtTrn as mjtTrn;
298#[repr(u32)]
299#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
300pub enum _mjtDyn {
301 NONE = 0,
302 INTEGRATOR = 1,
303 FILTER = 2,
304 MUSCLE = 3,
305 USER = 4,
306}
307pub use self::_mjtDyn as mjtDyn;
308#[repr(u32)]
309#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
310pub enum _mjtGain {
311 FIXED = 0,
312 MUSCLE = 1,
313 USER = 2,
314}
315pub use self::_mjtGain as mjtGain;
316#[repr(u32)]
317#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
318pub enum _mjtBias {
319 NONE = 0,
320 AFFINE = 1,
321 MUSCLE = 2,
322 USER = 3,
323}
324pub use self::_mjtBias as mjtBias;
325#[repr(u32)]
326#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
327pub enum _mjtObj {
328 UNKNOWN = 0,
329 BODY = 1,
330 XBODY = 2,
331 JOINT = 3,
332 DOF = 4,
333 GEOM = 5,
334 SITE = 6,
335 CAMERA = 7,
336 LIGHT = 8,
337 MESH = 9,
338 SKIN = 10,
339 HFIELD = 11,
340 TEXTURE = 12,
341 MATERIAL = 13,
342 PAIR = 14,
343 EXCLUDE = 15,
344 EQUALITY = 16,
345 TENDON = 17,
346 ACTUATOR = 18,
347 SENSOR = 19,
348 NUMERIC = 20,
349 TEXT = 21,
350 TUPLE = 22,
351 KEY = 23,
352}
353pub use self::_mjtObj as mjtObj;
354#[repr(u32)]
355#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
356pub enum _mjtConstraint {
357 EQUALITY = 0,
358 FRICTION_DOF = 1,
359 FRICTION_TENDON = 2,
360 LIMIT_JOINT = 3,
361 LIMIT_TENDON = 4,
362 CONTACT_FRICTIONLESS = 5,
363 CONTACT_PYRAMIDAL = 6,
364 CONTACT_ELLIPTIC = 7,
365}
366pub use self::_mjtConstraint as mjtConstraint;
367#[repr(u32)]
368#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
369pub enum _mjtConstraintState {
370 SATISFIED = 0,
371 QUADRATIC = 1,
372 LINEARNEG = 2,
373 LINEARPOS = 3,
374 CONE = 4,
375}
376pub use self::_mjtConstraintState as mjtConstraintState;
377#[repr(u32)]
378#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
379pub enum _mjtSensor {
380 TOUCH = 0,
381 ACCELEROMETER = 1,
382 VELOCIMETER = 2,
383 GYRO = 3,
384 FORCE = 4,
385 TORQUE = 5,
386 MAGNETOMETER = 6,
387 RANGEFINDER = 7,
388 JOINTPOS = 8,
389 JOINTVEL = 9,
390 TENDONPOS = 10,
391 TENDONVEL = 11,
392 ACTUATORPOS = 12,
393 ACTUATORVEL = 13,
394 ACTUATORFRC = 14,
395 BALLQUAT = 15,
396 BALLANGVEL = 16,
397 JOINTLIMITPOS = 17,
398 JOINTLIMITVEL = 18,
399 JOINTLIMITFRC = 19,
400 TENDONLIMITPOS = 20,
401 TENDONLIMITVEL = 21,
402 TENDONLIMITFRC = 22,
403 FRAMEPOS = 23,
404 FRAMEQUAT = 24,
405 FRAMEXAXIS = 25,
406 FRAMEYAXIS = 26,
407 FRAMEZAXIS = 27,
408 FRAMELINVEL = 28,
409 FRAMEANGVEL = 29,
410 FRAMELINACC = 30,
411 FRAMEANGACC = 31,
412 SUBTREECOM = 32,
413 SUBTREELINVEL = 33,
414 SUBTREEANGMOM = 34,
415 USER = 35,
416}
417pub use self::_mjtSensor as mjtSensor;
418#[repr(u32)]
419#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
420pub enum _mjtStage {
421 NONE = 0,
422 POS = 1,
423 VEL = 2,
424 ACC = 3,
425}
426pub use self::_mjtStage as mjtStage;
427#[repr(u32)]
428#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
429pub enum _mjtDataType {
430 REAL = 0,
431 POSITIVE = 1,
432 AXIS = 2,
433 QUATERNION = 3,
434}
435pub use self::_mjtDataType as mjtDataType;
436#[repr(u32)]
437#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
438pub enum _mjtLRMode {
439 NONE = 0,
440 MUSCLE = 1,
441 MUSCLEUSER = 2,
442 ALL = 3,
443}
444pub use self::_mjtLRMode as mjtLRMode;
445#[repr(C)]
446#[derive(Debug, Default, Copy, Clone)]
447pub struct _mjLROpt {
448 pub mode: ::std::os::raw::c_int,
449 pub useexisting: ::std::os::raw::c_int,
450 pub uselimit: ::std::os::raw::c_int,
451 pub accel: mjtNum,
452 pub maxforce: mjtNum,
453 pub timeconst: mjtNum,
454 pub timestep: mjtNum,
455 pub inttotal: mjtNum,
456 pub inteval: mjtNum,
457 pub tolrange: mjtNum,
458}
459#[test]
460fn bindgen_test_layout__mjLROpt() {
461 assert_eq!(
462 ::std::mem::size_of::<_mjLROpt>(),
463 72usize,
464 concat!("Size of: ", stringify!(_mjLROpt))
465 );
466 assert_eq!(
467 ::std::mem::align_of::<_mjLROpt>(),
468 8usize,
469 concat!("Alignment of ", stringify!(_mjLROpt))
470 );
471 assert_eq!(
472 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).mode as *const _ as usize },
473 0usize,
474 concat!(
475 "Offset of field: ",
476 stringify!(_mjLROpt),
477 "::",
478 stringify!(mode)
479 )
480 );
481 assert_eq!(
482 unsafe {
483 &(*(::std::ptr::null::<_mjLROpt>())).useexisting as *const _ as usize
484 },
485 4usize,
486 concat!(
487 "Offset of field: ",
488 stringify!(_mjLROpt),
489 "::",
490 stringify!(useexisting)
491 )
492 );
493 assert_eq!(
494 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).uselimit as *const _ as usize },
495 8usize,
496 concat!(
497 "Offset of field: ",
498 stringify!(_mjLROpt),
499 "::",
500 stringify!(uselimit)
501 )
502 );
503 assert_eq!(
504 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).accel as *const _ as usize },
505 16usize,
506 concat!(
507 "Offset of field: ",
508 stringify!(_mjLROpt),
509 "::",
510 stringify!(accel)
511 )
512 );
513 assert_eq!(
514 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).maxforce as *const _ as usize },
515 24usize,
516 concat!(
517 "Offset of field: ",
518 stringify!(_mjLROpt),
519 "::",
520 stringify!(maxforce)
521 )
522 );
523 assert_eq!(
524 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).timeconst as *const _ as usize },
525 32usize,
526 concat!(
527 "Offset of field: ",
528 stringify!(_mjLROpt),
529 "::",
530 stringify!(timeconst)
531 )
532 );
533 assert_eq!(
534 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).timestep as *const _ as usize },
535 40usize,
536 concat!(
537 "Offset of field: ",
538 stringify!(_mjLROpt),
539 "::",
540 stringify!(timestep)
541 )
542 );
543 assert_eq!(
544 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).inttotal as *const _ as usize },
545 48usize,
546 concat!(
547 "Offset of field: ",
548 stringify!(_mjLROpt),
549 "::",
550 stringify!(inttotal)
551 )
552 );
553 assert_eq!(
554 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).inteval as *const _ as usize },
555 56usize,
556 concat!(
557 "Offset of field: ",
558 stringify!(_mjLROpt),
559 "::",
560 stringify!(inteval)
561 )
562 );
563 assert_eq!(
564 unsafe { &(*(::std::ptr::null::<_mjLROpt>())).tolrange as *const _ as usize },
565 64usize,
566 concat!(
567 "Offset of field: ",
568 stringify!(_mjLROpt),
569 "::",
570 stringify!(tolrange)
571 )
572 );
573}
574pub type mjLROpt = _mjLROpt;
575#[repr(C)]
576#[derive(Copy, Clone)]
577pub struct _mjVFS {
578 pub nfile: ::std::os::raw::c_int,
579 pub filename: [[::std::os::raw::c_char; 100usize]; 200usize],
580 pub filesize: [::std::os::raw::c_int; 200usize],
581 pub filedata: [*mut ::std::os::raw::c_void; 200usize],
582}
583#[test]
584fn bindgen_test_layout__mjVFS() {
585 assert_eq!(
586 ::std::mem::size_of::<_mjVFS>(),
587 22408usize,
588 concat!("Size of: ", stringify!(_mjVFS))
589 );
590 assert_eq!(
591 ::std::mem::align_of::<_mjVFS>(),
592 8usize,
593 concat!("Alignment of ", stringify!(_mjVFS))
594 );
595 assert_eq!(
596 unsafe { &(*(::std::ptr::null::<_mjVFS>())).nfile as *const _ as usize },
597 0usize,
598 concat!(
599 "Offset of field: ",
600 stringify!(_mjVFS),
601 "::",
602 stringify!(nfile)
603 )
604 );
605 assert_eq!(
606 unsafe { &(*(::std::ptr::null::<_mjVFS>())).filename as *const _ as usize },
607 4usize,
608 concat!(
609 "Offset of field: ",
610 stringify!(_mjVFS),
611 "::",
612 stringify!(filename)
613 )
614 );
615 assert_eq!(
616 unsafe { &(*(::std::ptr::null::<_mjVFS>())).filesize as *const _ as usize },
617 20004usize,
618 concat!(
619 "Offset of field: ",
620 stringify!(_mjVFS),
621 "::",
622 stringify!(filesize)
623 )
624 );
625 assert_eq!(
626 unsafe { &(*(::std::ptr::null::<_mjVFS>())).filedata as *const _ as usize },
627 20808usize,
628 concat!(
629 "Offset of field: ",
630 stringify!(_mjVFS),
631 "::",
632 stringify!(filedata)
633 )
634 );
635}
636impl Default for _mjVFS {
637 fn default() -> Self {
638 unsafe { ::std::mem::zeroed() }
639 }
640}
641pub type mjVFS = _mjVFS;
642#[repr(C)]
643#[derive(Debug, Default, Copy, Clone)]
644pub struct _mjOption {
645 pub timestep: mjtNum,
646 pub apirate: mjtNum,
647 pub impratio: mjtNum,
648 pub tolerance: mjtNum,
649 pub noslip_tolerance: mjtNum,
650 pub mpr_tolerance: mjtNum,
651 pub gravity: [mjtNum; 3usize],
652 pub wind: [mjtNum; 3usize],
653 pub magnetic: [mjtNum; 3usize],
654 pub density: mjtNum,
655 pub viscosity: mjtNum,
656 pub o_margin: mjtNum,
657 pub o_solref: [mjtNum; 2usize],
658 pub o_solimp: [mjtNum; 5usize],
659 pub integrator: ::std::os::raw::c_int,
660 pub collision: ::std::os::raw::c_int,
661 pub cone: ::std::os::raw::c_int,
662 pub jacobian: ::std::os::raw::c_int,
663 pub solver: ::std::os::raw::c_int,
664 pub iterations: ::std::os::raw::c_int,
665 pub noslip_iterations: ::std::os::raw::c_int,
666 pub mpr_iterations: ::std::os::raw::c_int,
667 pub disableflags: ::std::os::raw::c_int,
668 pub enableflags: ::std::os::raw::c_int,
669}
670#[test]
671fn bindgen_test_layout__mjOption() {
672 assert_eq!(
673 ::std::mem::size_of::<_mjOption>(),
674 240usize,
675 concat!("Size of: ", stringify!(_mjOption))
676 );
677 assert_eq!(
678 ::std::mem::align_of::<_mjOption>(),
679 8usize,
680 concat!("Alignment of ", stringify!(_mjOption))
681 );
682 assert_eq!(
683 unsafe { &(*(::std::ptr::null::<_mjOption>())).timestep as *const _ as usize },
684 0usize,
685 concat!(
686 "Offset of field: ",
687 stringify!(_mjOption),
688 "::",
689 stringify!(timestep)
690 )
691 );
692 assert_eq!(
693 unsafe { &(*(::std::ptr::null::<_mjOption>())).apirate as *const _ as usize },
694 8usize,
695 concat!(
696 "Offset of field: ",
697 stringify!(_mjOption),
698 "::",
699 stringify!(apirate)
700 )
701 );
702 assert_eq!(
703 unsafe { &(*(::std::ptr::null::<_mjOption>())).impratio as *const _ as usize },
704 16usize,
705 concat!(
706 "Offset of field: ",
707 stringify!(_mjOption),
708 "::",
709 stringify!(impratio)
710 )
711 );
712 assert_eq!(
713 unsafe { &(*(::std::ptr::null::<_mjOption>())).tolerance as *const _ as usize },
714 24usize,
715 concat!(
716 "Offset of field: ",
717 stringify!(_mjOption),
718 "::",
719 stringify!(tolerance)
720 )
721 );
722 assert_eq!(
723 unsafe {
724 &(*(::std::ptr::null::<_mjOption>())).noslip_tolerance as *const _ as usize
725 },
726 32usize,
727 concat!(
728 "Offset of field: ",
729 stringify!(_mjOption),
730 "::",
731 stringify!(noslip_tolerance)
732 )
733 );
734 assert_eq!(
735 unsafe {
736 &(*(::std::ptr::null::<_mjOption>())).mpr_tolerance as *const _ as usize
737 },
738 40usize,
739 concat!(
740 "Offset of field: ",
741 stringify!(_mjOption),
742 "::",
743 stringify!(mpr_tolerance)
744 )
745 );
746 assert_eq!(
747 unsafe { &(*(::std::ptr::null::<_mjOption>())).gravity as *const _ as usize },
748 48usize,
749 concat!(
750 "Offset of field: ",
751 stringify!(_mjOption),
752 "::",
753 stringify!(gravity)
754 )
755 );
756 assert_eq!(
757 unsafe { &(*(::std::ptr::null::<_mjOption>())).wind as *const _ as usize },
758 72usize,
759 concat!(
760 "Offset of field: ",
761 stringify!(_mjOption),
762 "::",
763 stringify!(wind)
764 )
765 );
766 assert_eq!(
767 unsafe { &(*(::std::ptr::null::<_mjOption>())).magnetic as *const _ as usize },
768 96usize,
769 concat!(
770 "Offset of field: ",
771 stringify!(_mjOption),
772 "::",
773 stringify!(magnetic)
774 )
775 );
776 assert_eq!(
777 unsafe { &(*(::std::ptr::null::<_mjOption>())).density as *const _ as usize },
778 120usize,
779 concat!(
780 "Offset of field: ",
781 stringify!(_mjOption),
782 "::",
783 stringify!(density)
784 )
785 );
786 assert_eq!(
787 unsafe { &(*(::std::ptr::null::<_mjOption>())).viscosity as *const _ as usize },
788 128usize,
789 concat!(
790 "Offset of field: ",
791 stringify!(_mjOption),
792 "::",
793 stringify!(viscosity)
794 )
795 );
796 assert_eq!(
797 unsafe { &(*(::std::ptr::null::<_mjOption>())).o_margin as *const _ as usize },
798 136usize,
799 concat!(
800 "Offset of field: ",
801 stringify!(_mjOption),
802 "::",
803 stringify!(o_margin)
804 )
805 );
806 assert_eq!(
807 unsafe { &(*(::std::ptr::null::<_mjOption>())).o_solref as *const _ as usize },
808 144usize,
809 concat!(
810 "Offset of field: ",
811 stringify!(_mjOption),
812 "::",
813 stringify!(o_solref)
814 )
815 );
816 assert_eq!(
817 unsafe { &(*(::std::ptr::null::<_mjOption>())).o_solimp as *const _ as usize },
818 160usize,
819 concat!(
820 "Offset of field: ",
821 stringify!(_mjOption),
822 "::",
823 stringify!(o_solimp)
824 )
825 );
826 assert_eq!(
827 unsafe {
828 &(*(::std::ptr::null::<_mjOption>())).integrator as *const _ as usize
829 },
830 200usize,
831 concat!(
832 "Offset of field: ",
833 stringify!(_mjOption),
834 "::",
835 stringify!(integrator)
836 )
837 );
838 assert_eq!(
839 unsafe { &(*(::std::ptr::null::<_mjOption>())).collision as *const _ as usize },
840 204usize,
841 concat!(
842 "Offset of field: ",
843 stringify!(_mjOption),
844 "::",
845 stringify!(collision)
846 )
847 );
848 assert_eq!(
849 unsafe { &(*(::std::ptr::null::<_mjOption>())).cone as *const _ as usize },
850 208usize,
851 concat!(
852 "Offset of field: ",
853 stringify!(_mjOption),
854 "::",
855 stringify!(cone)
856 )
857 );
858 assert_eq!(
859 unsafe { &(*(::std::ptr::null::<_mjOption>())).jacobian as *const _ as usize },
860 212usize,
861 concat!(
862 "Offset of field: ",
863 stringify!(_mjOption),
864 "::",
865 stringify!(jacobian)
866 )
867 );
868 assert_eq!(
869 unsafe { &(*(::std::ptr::null::<_mjOption>())).solver as *const _ as usize },
870 216usize,
871 concat!(
872 "Offset of field: ",
873 stringify!(_mjOption),
874 "::",
875 stringify!(solver)
876 )
877 );
878 assert_eq!(
879 unsafe {
880 &(*(::std::ptr::null::<_mjOption>())).iterations as *const _ as usize
881 },
882 220usize,
883 concat!(
884 "Offset of field: ",
885 stringify!(_mjOption),
886 "::",
887 stringify!(iterations)
888 )
889 );
890 assert_eq!(
891 unsafe {
892 &(*(::std::ptr::null::<_mjOption>())).noslip_iterations as *const _ as usize
893 },
894 224usize,
895 concat!(
896 "Offset of field: ",
897 stringify!(_mjOption),
898 "::",
899 stringify!(noslip_iterations)
900 )
901 );
902 assert_eq!(
903 unsafe {
904 &(*(::std::ptr::null::<_mjOption>())).mpr_iterations as *const _ as usize
905 },
906 228usize,
907 concat!(
908 "Offset of field: ",
909 stringify!(_mjOption),
910 "::",
911 stringify!(mpr_iterations)
912 )
913 );
914 assert_eq!(
915 unsafe {
916 &(*(::std::ptr::null::<_mjOption>())).disableflags as *const _ as usize
917 },
918 232usize,
919 concat!(
920 "Offset of field: ",
921 stringify!(_mjOption),
922 "::",
923 stringify!(disableflags)
924 )
925 );
926 assert_eq!(
927 unsafe {
928 &(*(::std::ptr::null::<_mjOption>())).enableflags as *const _ as usize
929 },
930 236usize,
931 concat!(
932 "Offset of field: ",
933 stringify!(_mjOption),
934 "::",
935 stringify!(enableflags)
936 )
937 );
938}
939pub type mjOption = _mjOption;
940#[repr(C)]
941#[derive(Debug, Default, Copy, Clone)]
942pub struct _mjVisual {
943 pub global: _mjVisual__bindgen_ty_1,
944 pub quality: _mjVisual__bindgen_ty_2,
945 pub headlight: _mjVisual__bindgen_ty_3,
946 pub map: _mjVisual__bindgen_ty_4,
947 pub scale: _mjVisual__bindgen_ty_5,
948 pub rgba: _mjVisual__bindgen_ty_6,
949}
950#[repr(C)]
951#[derive(Debug, Default, Copy, Clone)]
952pub struct _mjVisual__bindgen_ty_1 {
953 pub fovy: f32,
954 pub ipd: f32,
955 pub linewidth: f32,
956 pub glow: f32,
957 pub offwidth: ::std::os::raw::c_int,
958 pub offheight: ::std::os::raw::c_int,
959}
960#[test]
961fn bindgen_test_layout__mjVisual__bindgen_ty_1() {
962 assert_eq!(
963 ::std::mem::size_of::<_mjVisual__bindgen_ty_1>(),
964 24usize,
965 concat!("Size of: ", stringify!(_mjVisual__bindgen_ty_1))
966 );
967 assert_eq!(
968 ::std::mem::align_of::<_mjVisual__bindgen_ty_1>(),
969 4usize,
970 concat!("Alignment of ", stringify!(_mjVisual__bindgen_ty_1))
971 );
972 assert_eq!(
973 unsafe {
974 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_1>())).fovy as *const _
975 as usize
976 },
977 0usize,
978 concat!(
979 "Offset of field: ",
980 stringify!(_mjVisual__bindgen_ty_1),
981 "::",
982 stringify!(fovy)
983 )
984 );
985 assert_eq!(
986 unsafe {
987 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_1>())).ipd as *const _ as usize
988 },
989 4usize,
990 concat!(
991 "Offset of field: ",
992 stringify!(_mjVisual__bindgen_ty_1),
993 "::",
994 stringify!(ipd)
995 )
996 );
997 assert_eq!(
998 unsafe {
999 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_1>())).linewidth as *const _
1000 as usize
1001 },
1002 8usize,
1003 concat!(
1004 "Offset of field: ",
1005 stringify!(_mjVisual__bindgen_ty_1),
1006 "::",
1007 stringify!(linewidth)
1008 )
1009 );
1010 assert_eq!(
1011 unsafe {
1012 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_1>())).glow as *const _
1013 as usize
1014 },
1015 12usize,
1016 concat!(
1017 "Offset of field: ",
1018 stringify!(_mjVisual__bindgen_ty_1),
1019 "::",
1020 stringify!(glow)
1021 )
1022 );
1023 assert_eq!(
1024 unsafe {
1025 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_1>())).offwidth as *const _
1026 as usize
1027 },
1028 16usize,
1029 concat!(
1030 "Offset of field: ",
1031 stringify!(_mjVisual__bindgen_ty_1),
1032 "::",
1033 stringify!(offwidth)
1034 )
1035 );
1036 assert_eq!(
1037 unsafe {
1038 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_1>())).offheight as *const _
1039 as usize
1040 },
1041 20usize,
1042 concat!(
1043 "Offset of field: ",
1044 stringify!(_mjVisual__bindgen_ty_1),
1045 "::",
1046 stringify!(offheight)
1047 )
1048 );
1049}
1050#[repr(C)]
1051#[derive(Debug, Default, Copy, Clone)]
1052pub struct _mjVisual__bindgen_ty_2 {
1053 pub shadowsize: ::std::os::raw::c_int,
1054 pub offsamples: ::std::os::raw::c_int,
1055 pub numslices: ::std::os::raw::c_int,
1056 pub numstacks: ::std::os::raw::c_int,
1057 pub numquads: ::std::os::raw::c_int,
1058}
1059#[test]
1060fn bindgen_test_layout__mjVisual__bindgen_ty_2() {
1061 assert_eq!(
1062 ::std::mem::size_of::<_mjVisual__bindgen_ty_2>(),
1063 20usize,
1064 concat!("Size of: ", stringify!(_mjVisual__bindgen_ty_2))
1065 );
1066 assert_eq!(
1067 ::std::mem::align_of::<_mjVisual__bindgen_ty_2>(),
1068 4usize,
1069 concat!("Alignment of ", stringify!(_mjVisual__bindgen_ty_2))
1070 );
1071 assert_eq!(
1072 unsafe {
1073 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_2>())).shadowsize as *const _
1074 as usize
1075 },
1076 0usize,
1077 concat!(
1078 "Offset of field: ",
1079 stringify!(_mjVisual__bindgen_ty_2),
1080 "::",
1081 stringify!(shadowsize)
1082 )
1083 );
1084 assert_eq!(
1085 unsafe {
1086 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_2>())).offsamples as *const _
1087 as usize
1088 },
1089 4usize,
1090 concat!(
1091 "Offset of field: ",
1092 stringify!(_mjVisual__bindgen_ty_2),
1093 "::",
1094 stringify!(offsamples)
1095 )
1096 );
1097 assert_eq!(
1098 unsafe {
1099 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_2>())).numslices as *const _
1100 as usize
1101 },
1102 8usize,
1103 concat!(
1104 "Offset of field: ",
1105 stringify!(_mjVisual__bindgen_ty_2),
1106 "::",
1107 stringify!(numslices)
1108 )
1109 );
1110 assert_eq!(
1111 unsafe {
1112 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_2>())).numstacks as *const _
1113 as usize
1114 },
1115 12usize,
1116 concat!(
1117 "Offset of field: ",
1118 stringify!(_mjVisual__bindgen_ty_2),
1119 "::",
1120 stringify!(numstacks)
1121 )
1122 );
1123 assert_eq!(
1124 unsafe {
1125 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_2>())).numquads as *const _
1126 as usize
1127 },
1128 16usize,
1129 concat!(
1130 "Offset of field: ",
1131 stringify!(_mjVisual__bindgen_ty_2),
1132 "::",
1133 stringify!(numquads)
1134 )
1135 );
1136}
1137#[repr(C)]
1138#[derive(Debug, Default, Copy, Clone)]
1139pub struct _mjVisual__bindgen_ty_3 {
1140 pub ambient: [f32; 3usize],
1141 pub diffuse: [f32; 3usize],
1142 pub specular: [f32; 3usize],
1143 pub active: ::std::os::raw::c_int,
1144}
1145#[test]
1146fn bindgen_test_layout__mjVisual__bindgen_ty_3() {
1147 assert_eq!(
1148 ::std::mem::size_of::<_mjVisual__bindgen_ty_3>(),
1149 40usize,
1150 concat!("Size of: ", stringify!(_mjVisual__bindgen_ty_3))
1151 );
1152 assert_eq!(
1153 ::std::mem::align_of::<_mjVisual__bindgen_ty_3>(),
1154 4usize,
1155 concat!("Alignment of ", stringify!(_mjVisual__bindgen_ty_3))
1156 );
1157 assert_eq!(
1158 unsafe {
1159 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_3>())).ambient as *const _
1160 as usize
1161 },
1162 0usize,
1163 concat!(
1164 "Offset of field: ",
1165 stringify!(_mjVisual__bindgen_ty_3),
1166 "::",
1167 stringify!(ambient)
1168 )
1169 );
1170 assert_eq!(
1171 unsafe {
1172 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_3>())).diffuse as *const _
1173 as usize
1174 },
1175 12usize,
1176 concat!(
1177 "Offset of field: ",
1178 stringify!(_mjVisual__bindgen_ty_3),
1179 "::",
1180 stringify!(diffuse)
1181 )
1182 );
1183 assert_eq!(
1184 unsafe {
1185 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_3>())).specular as *const _
1186 as usize
1187 },
1188 24usize,
1189 concat!(
1190 "Offset of field: ",
1191 stringify!(_mjVisual__bindgen_ty_3),
1192 "::",
1193 stringify!(specular)
1194 )
1195 );
1196 assert_eq!(
1197 unsafe {
1198 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_3>())).active as *const _
1199 as usize
1200 },
1201 36usize,
1202 concat!(
1203 "Offset of field: ",
1204 stringify!(_mjVisual__bindgen_ty_3),
1205 "::",
1206 stringify!(active)
1207 )
1208 );
1209}
1210#[repr(C)]
1211#[derive(Debug, Default, Copy, Clone)]
1212pub struct _mjVisual__bindgen_ty_4 {
1213 pub stiffness: f32,
1214 pub stiffnessrot: f32,
1215 pub force: f32,
1216 pub torque: f32,
1217 pub alpha: f32,
1218 pub fogstart: f32,
1219 pub fogend: f32,
1220 pub znear: f32,
1221 pub zfar: f32,
1222 pub haze: f32,
1223 pub shadowclip: f32,
1224 pub shadowscale: f32,
1225 pub actuatortendon: f32,
1226}
1227#[test]
1228fn bindgen_test_layout__mjVisual__bindgen_ty_4() {
1229 assert_eq!(
1230 ::std::mem::size_of::<_mjVisual__bindgen_ty_4>(),
1231 52usize,
1232 concat!("Size of: ", stringify!(_mjVisual__bindgen_ty_4))
1233 );
1234 assert_eq!(
1235 ::std::mem::align_of::<_mjVisual__bindgen_ty_4>(),
1236 4usize,
1237 concat!("Alignment of ", stringify!(_mjVisual__bindgen_ty_4))
1238 );
1239 assert_eq!(
1240 unsafe {
1241 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).stiffness as *const _
1242 as usize
1243 },
1244 0usize,
1245 concat!(
1246 "Offset of field: ",
1247 stringify!(_mjVisual__bindgen_ty_4),
1248 "::",
1249 stringify!(stiffness)
1250 )
1251 );
1252 assert_eq!(
1253 unsafe {
1254 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).stiffnessrot as *const _
1255 as usize
1256 },
1257 4usize,
1258 concat!(
1259 "Offset of field: ",
1260 stringify!(_mjVisual__bindgen_ty_4),
1261 "::",
1262 stringify!(stiffnessrot)
1263 )
1264 );
1265 assert_eq!(
1266 unsafe {
1267 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).force as *const _
1268 as usize
1269 },
1270 8usize,
1271 concat!(
1272 "Offset of field: ",
1273 stringify!(_mjVisual__bindgen_ty_4),
1274 "::",
1275 stringify!(force)
1276 )
1277 );
1278 assert_eq!(
1279 unsafe {
1280 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).torque as *const _
1281 as usize
1282 },
1283 12usize,
1284 concat!(
1285 "Offset of field: ",
1286 stringify!(_mjVisual__bindgen_ty_4),
1287 "::",
1288 stringify!(torque)
1289 )
1290 );
1291 assert_eq!(
1292 unsafe {
1293 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).alpha as *const _
1294 as usize
1295 },
1296 16usize,
1297 concat!(
1298 "Offset of field: ",
1299 stringify!(_mjVisual__bindgen_ty_4),
1300 "::",
1301 stringify!(alpha)
1302 )
1303 );
1304 assert_eq!(
1305 unsafe {
1306 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).fogstart as *const _
1307 as usize
1308 },
1309 20usize,
1310 concat!(
1311 "Offset of field: ",
1312 stringify!(_mjVisual__bindgen_ty_4),
1313 "::",
1314 stringify!(fogstart)
1315 )
1316 );
1317 assert_eq!(
1318 unsafe {
1319 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).fogend as *const _
1320 as usize
1321 },
1322 24usize,
1323 concat!(
1324 "Offset of field: ",
1325 stringify!(_mjVisual__bindgen_ty_4),
1326 "::",
1327 stringify!(fogend)
1328 )
1329 );
1330 assert_eq!(
1331 unsafe {
1332 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).znear as *const _
1333 as usize
1334 },
1335 28usize,
1336 concat!(
1337 "Offset of field: ",
1338 stringify!(_mjVisual__bindgen_ty_4),
1339 "::",
1340 stringify!(znear)
1341 )
1342 );
1343 assert_eq!(
1344 unsafe {
1345 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).zfar as *const _
1346 as usize
1347 },
1348 32usize,
1349 concat!(
1350 "Offset of field: ",
1351 stringify!(_mjVisual__bindgen_ty_4),
1352 "::",
1353 stringify!(zfar)
1354 )
1355 );
1356 assert_eq!(
1357 unsafe {
1358 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).haze as *const _
1359 as usize
1360 },
1361 36usize,
1362 concat!(
1363 "Offset of field: ",
1364 stringify!(_mjVisual__bindgen_ty_4),
1365 "::",
1366 stringify!(haze)
1367 )
1368 );
1369 assert_eq!(
1370 unsafe {
1371 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).shadowclip as *const _
1372 as usize
1373 },
1374 40usize,
1375 concat!(
1376 "Offset of field: ",
1377 stringify!(_mjVisual__bindgen_ty_4),
1378 "::",
1379 stringify!(shadowclip)
1380 )
1381 );
1382 assert_eq!(
1383 unsafe {
1384 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).shadowscale as *const _
1385 as usize
1386 },
1387 44usize,
1388 concat!(
1389 "Offset of field: ",
1390 stringify!(_mjVisual__bindgen_ty_4),
1391 "::",
1392 stringify!(shadowscale)
1393 )
1394 );
1395 assert_eq!(
1396 unsafe {
1397 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_4>())).actuatortendon
1398 as *const _ as usize
1399 },
1400 48usize,
1401 concat!(
1402 "Offset of field: ",
1403 stringify!(_mjVisual__bindgen_ty_4),
1404 "::",
1405 stringify!(actuatortendon)
1406 )
1407 );
1408}
1409#[repr(C)]
1410#[derive(Debug, Default, Copy, Clone)]
1411pub struct _mjVisual__bindgen_ty_5 {
1412 pub forcewidth: f32,
1413 pub contactwidth: f32,
1414 pub contactheight: f32,
1415 pub connect: f32,
1416 pub com: f32,
1417 pub camera: f32,
1418 pub light: f32,
1419 pub selectpoint: f32,
1420 pub jointlength: f32,
1421 pub jointwidth: f32,
1422 pub actuatorlength: f32,
1423 pub actuatorwidth: f32,
1424 pub framelength: f32,
1425 pub framewidth: f32,
1426 pub constraint: f32,
1427 pub slidercrank: f32,
1428}
1429#[test]
1430fn bindgen_test_layout__mjVisual__bindgen_ty_5() {
1431 assert_eq!(
1432 ::std::mem::size_of::<_mjVisual__bindgen_ty_5>(),
1433 64usize,
1434 concat!("Size of: ", stringify!(_mjVisual__bindgen_ty_5))
1435 );
1436 assert_eq!(
1437 ::std::mem::align_of::<_mjVisual__bindgen_ty_5>(),
1438 4usize,
1439 concat!("Alignment of ", stringify!(_mjVisual__bindgen_ty_5))
1440 );
1441 assert_eq!(
1442 unsafe {
1443 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).forcewidth as *const _
1444 as usize
1445 },
1446 0usize,
1447 concat!(
1448 "Offset of field: ",
1449 stringify!(_mjVisual__bindgen_ty_5),
1450 "::",
1451 stringify!(forcewidth)
1452 )
1453 );
1454 assert_eq!(
1455 unsafe {
1456 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).contactwidth as *const _
1457 as usize
1458 },
1459 4usize,
1460 concat!(
1461 "Offset of field: ",
1462 stringify!(_mjVisual__bindgen_ty_5),
1463 "::",
1464 stringify!(contactwidth)
1465 )
1466 );
1467 assert_eq!(
1468 unsafe {
1469 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).contactheight
1470 as *const _ as usize
1471 },
1472 8usize,
1473 concat!(
1474 "Offset of field: ",
1475 stringify!(_mjVisual__bindgen_ty_5),
1476 "::",
1477 stringify!(contactheight)
1478 )
1479 );
1480 assert_eq!(
1481 unsafe {
1482 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).connect as *const _
1483 as usize
1484 },
1485 12usize,
1486 concat!(
1487 "Offset of field: ",
1488 stringify!(_mjVisual__bindgen_ty_5),
1489 "::",
1490 stringify!(connect)
1491 )
1492 );
1493 assert_eq!(
1494 unsafe {
1495 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).com as *const _ as usize
1496 },
1497 16usize,
1498 concat!(
1499 "Offset of field: ",
1500 stringify!(_mjVisual__bindgen_ty_5),
1501 "::",
1502 stringify!(com)
1503 )
1504 );
1505 assert_eq!(
1506 unsafe {
1507 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).camera as *const _
1508 as usize
1509 },
1510 20usize,
1511 concat!(
1512 "Offset of field: ",
1513 stringify!(_mjVisual__bindgen_ty_5),
1514 "::",
1515 stringify!(camera)
1516 )
1517 );
1518 assert_eq!(
1519 unsafe {
1520 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).light as *const _
1521 as usize
1522 },
1523 24usize,
1524 concat!(
1525 "Offset of field: ",
1526 stringify!(_mjVisual__bindgen_ty_5),
1527 "::",
1528 stringify!(light)
1529 )
1530 );
1531 assert_eq!(
1532 unsafe {
1533 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).selectpoint as *const _
1534 as usize
1535 },
1536 28usize,
1537 concat!(
1538 "Offset of field: ",
1539 stringify!(_mjVisual__bindgen_ty_5),
1540 "::",
1541 stringify!(selectpoint)
1542 )
1543 );
1544 assert_eq!(
1545 unsafe {
1546 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).jointlength as *const _
1547 as usize
1548 },
1549 32usize,
1550 concat!(
1551 "Offset of field: ",
1552 stringify!(_mjVisual__bindgen_ty_5),
1553 "::",
1554 stringify!(jointlength)
1555 )
1556 );
1557 assert_eq!(
1558 unsafe {
1559 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).jointwidth as *const _
1560 as usize
1561 },
1562 36usize,
1563 concat!(
1564 "Offset of field: ",
1565 stringify!(_mjVisual__bindgen_ty_5),
1566 "::",
1567 stringify!(jointwidth)
1568 )
1569 );
1570 assert_eq!(
1571 unsafe {
1572 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).actuatorlength
1573 as *const _ as usize
1574 },
1575 40usize,
1576 concat!(
1577 "Offset of field: ",
1578 stringify!(_mjVisual__bindgen_ty_5),
1579 "::",
1580 stringify!(actuatorlength)
1581 )
1582 );
1583 assert_eq!(
1584 unsafe {
1585 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).actuatorwidth
1586 as *const _ as usize
1587 },
1588 44usize,
1589 concat!(
1590 "Offset of field: ",
1591 stringify!(_mjVisual__bindgen_ty_5),
1592 "::",
1593 stringify!(actuatorwidth)
1594 )
1595 );
1596 assert_eq!(
1597 unsafe {
1598 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).framelength as *const _
1599 as usize
1600 },
1601 48usize,
1602 concat!(
1603 "Offset of field: ",
1604 stringify!(_mjVisual__bindgen_ty_5),
1605 "::",
1606 stringify!(framelength)
1607 )
1608 );
1609 assert_eq!(
1610 unsafe {
1611 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).framewidth as *const _
1612 as usize
1613 },
1614 52usize,
1615 concat!(
1616 "Offset of field: ",
1617 stringify!(_mjVisual__bindgen_ty_5),
1618 "::",
1619 stringify!(framewidth)
1620 )
1621 );
1622 assert_eq!(
1623 unsafe {
1624 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).constraint as *const _
1625 as usize
1626 },
1627 56usize,
1628 concat!(
1629 "Offset of field: ",
1630 stringify!(_mjVisual__bindgen_ty_5),
1631 "::",
1632 stringify!(constraint)
1633 )
1634 );
1635 assert_eq!(
1636 unsafe {
1637 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_5>())).slidercrank as *const _
1638 as usize
1639 },
1640 60usize,
1641 concat!(
1642 "Offset of field: ",
1643 stringify!(_mjVisual__bindgen_ty_5),
1644 "::",
1645 stringify!(slidercrank)
1646 )
1647 );
1648}
1649#[repr(C)]
1650#[derive(Debug, Default, Copy, Clone)]
1651pub struct _mjVisual__bindgen_ty_6 {
1652 pub fog: [f32; 4usize],
1653 pub haze: [f32; 4usize],
1654 pub force: [f32; 4usize],
1655 pub inertia: [f32; 4usize],
1656 pub joint: [f32; 4usize],
1657 pub actuator: [f32; 4usize],
1658 pub actuatornegative: [f32; 4usize],
1659 pub actuatorpositive: [f32; 4usize],
1660 pub com: [f32; 4usize],
1661 pub camera: [f32; 4usize],
1662 pub light: [f32; 4usize],
1663 pub selectpoint: [f32; 4usize],
1664 pub connect: [f32; 4usize],
1665 pub contactpoint: [f32; 4usize],
1666 pub contactforce: [f32; 4usize],
1667 pub contactfriction: [f32; 4usize],
1668 pub contacttorque: [f32; 4usize],
1669 pub contactgap: [f32; 4usize],
1670 pub rangefinder: [f32; 4usize],
1671 pub constraint: [f32; 4usize],
1672 pub slidercrank: [f32; 4usize],
1673 pub crankbroken: [f32; 4usize],
1674}
1675#[test]
1676fn bindgen_test_layout__mjVisual__bindgen_ty_6() {
1677 assert_eq!(
1678 ::std::mem::size_of::<_mjVisual__bindgen_ty_6>(),
1679 352usize,
1680 concat!("Size of: ", stringify!(_mjVisual__bindgen_ty_6))
1681 );
1682 assert_eq!(
1683 ::std::mem::align_of::<_mjVisual__bindgen_ty_6>(),
1684 4usize,
1685 concat!("Alignment of ", stringify!(_mjVisual__bindgen_ty_6))
1686 );
1687 assert_eq!(
1688 unsafe {
1689 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).fog as *const _ as usize
1690 },
1691 0usize,
1692 concat!(
1693 "Offset of field: ",
1694 stringify!(_mjVisual__bindgen_ty_6),
1695 "::",
1696 stringify!(fog)
1697 )
1698 );
1699 assert_eq!(
1700 unsafe {
1701 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).haze as *const _
1702 as usize
1703 },
1704 16usize,
1705 concat!(
1706 "Offset of field: ",
1707 stringify!(_mjVisual__bindgen_ty_6),
1708 "::",
1709 stringify!(haze)
1710 )
1711 );
1712 assert_eq!(
1713 unsafe {
1714 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).force as *const _
1715 as usize
1716 },
1717 32usize,
1718 concat!(
1719 "Offset of field: ",
1720 stringify!(_mjVisual__bindgen_ty_6),
1721 "::",
1722 stringify!(force)
1723 )
1724 );
1725 assert_eq!(
1726 unsafe {
1727 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).inertia as *const _
1728 as usize
1729 },
1730 48usize,
1731 concat!(
1732 "Offset of field: ",
1733 stringify!(_mjVisual__bindgen_ty_6),
1734 "::",
1735 stringify!(inertia)
1736 )
1737 );
1738 assert_eq!(
1739 unsafe {
1740 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).joint as *const _
1741 as usize
1742 },
1743 64usize,
1744 concat!(
1745 "Offset of field: ",
1746 stringify!(_mjVisual__bindgen_ty_6),
1747 "::",
1748 stringify!(joint)
1749 )
1750 );
1751 assert_eq!(
1752 unsafe {
1753 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).actuator as *const _
1754 as usize
1755 },
1756 80usize,
1757 concat!(
1758 "Offset of field: ",
1759 stringify!(_mjVisual__bindgen_ty_6),
1760 "::",
1761 stringify!(actuator)
1762 )
1763 );
1764 assert_eq!(
1765 unsafe {
1766 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).actuatornegative
1767 as *const _ as usize
1768 },
1769 96usize,
1770 concat!(
1771 "Offset of field: ",
1772 stringify!(_mjVisual__bindgen_ty_6),
1773 "::",
1774 stringify!(actuatornegative)
1775 )
1776 );
1777 assert_eq!(
1778 unsafe {
1779 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).actuatorpositive
1780 as *const _ as usize
1781 },
1782 112usize,
1783 concat!(
1784 "Offset of field: ",
1785 stringify!(_mjVisual__bindgen_ty_6),
1786 "::",
1787 stringify!(actuatorpositive)
1788 )
1789 );
1790 assert_eq!(
1791 unsafe {
1792 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).com as *const _ as usize
1793 },
1794 128usize,
1795 concat!(
1796 "Offset of field: ",
1797 stringify!(_mjVisual__bindgen_ty_6),
1798 "::",
1799 stringify!(com)
1800 )
1801 );
1802 assert_eq!(
1803 unsafe {
1804 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).camera as *const _
1805 as usize
1806 },
1807 144usize,
1808 concat!(
1809 "Offset of field: ",
1810 stringify!(_mjVisual__bindgen_ty_6),
1811 "::",
1812 stringify!(camera)
1813 )
1814 );
1815 assert_eq!(
1816 unsafe {
1817 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).light as *const _
1818 as usize
1819 },
1820 160usize,
1821 concat!(
1822 "Offset of field: ",
1823 stringify!(_mjVisual__bindgen_ty_6),
1824 "::",
1825 stringify!(light)
1826 )
1827 );
1828 assert_eq!(
1829 unsafe {
1830 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).selectpoint as *const _
1831 as usize
1832 },
1833 176usize,
1834 concat!(
1835 "Offset of field: ",
1836 stringify!(_mjVisual__bindgen_ty_6),
1837 "::",
1838 stringify!(selectpoint)
1839 )
1840 );
1841 assert_eq!(
1842 unsafe {
1843 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).connect as *const _
1844 as usize
1845 },
1846 192usize,
1847 concat!(
1848 "Offset of field: ",
1849 stringify!(_mjVisual__bindgen_ty_6),
1850 "::",
1851 stringify!(connect)
1852 )
1853 );
1854 assert_eq!(
1855 unsafe {
1856 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).contactpoint as *const _
1857 as usize
1858 },
1859 208usize,
1860 concat!(
1861 "Offset of field: ",
1862 stringify!(_mjVisual__bindgen_ty_6),
1863 "::",
1864 stringify!(contactpoint)
1865 )
1866 );
1867 assert_eq!(
1868 unsafe {
1869 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).contactforce as *const _
1870 as usize
1871 },
1872 224usize,
1873 concat!(
1874 "Offset of field: ",
1875 stringify!(_mjVisual__bindgen_ty_6),
1876 "::",
1877 stringify!(contactforce)
1878 )
1879 );
1880 assert_eq!(
1881 unsafe {
1882 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).contactfriction
1883 as *const _ as usize
1884 },
1885 240usize,
1886 concat!(
1887 "Offset of field: ",
1888 stringify!(_mjVisual__bindgen_ty_6),
1889 "::",
1890 stringify!(contactfriction)
1891 )
1892 );
1893 assert_eq!(
1894 unsafe {
1895 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).contacttorque
1896 as *const _ as usize
1897 },
1898 256usize,
1899 concat!(
1900 "Offset of field: ",
1901 stringify!(_mjVisual__bindgen_ty_6),
1902 "::",
1903 stringify!(contacttorque)
1904 )
1905 );
1906 assert_eq!(
1907 unsafe {
1908 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).contactgap as *const _
1909 as usize
1910 },
1911 272usize,
1912 concat!(
1913 "Offset of field: ",
1914 stringify!(_mjVisual__bindgen_ty_6),
1915 "::",
1916 stringify!(contactgap)
1917 )
1918 );
1919 assert_eq!(
1920 unsafe {
1921 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).rangefinder as *const _
1922 as usize
1923 },
1924 288usize,
1925 concat!(
1926 "Offset of field: ",
1927 stringify!(_mjVisual__bindgen_ty_6),
1928 "::",
1929 stringify!(rangefinder)
1930 )
1931 );
1932 assert_eq!(
1933 unsafe {
1934 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).constraint as *const _
1935 as usize
1936 },
1937 304usize,
1938 concat!(
1939 "Offset of field: ",
1940 stringify!(_mjVisual__bindgen_ty_6),
1941 "::",
1942 stringify!(constraint)
1943 )
1944 );
1945 assert_eq!(
1946 unsafe {
1947 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).slidercrank as *const _
1948 as usize
1949 },
1950 320usize,
1951 concat!(
1952 "Offset of field: ",
1953 stringify!(_mjVisual__bindgen_ty_6),
1954 "::",
1955 stringify!(slidercrank)
1956 )
1957 );
1958 assert_eq!(
1959 unsafe {
1960 &(*(::std::ptr::null::<_mjVisual__bindgen_ty_6>())).crankbroken as *const _
1961 as usize
1962 },
1963 336usize,
1964 concat!(
1965 "Offset of field: ",
1966 stringify!(_mjVisual__bindgen_ty_6),
1967 "::",
1968 stringify!(crankbroken)
1969 )
1970 );
1971}
1972#[test]
1973fn bindgen_test_layout__mjVisual() {
1974 assert_eq!(
1975 ::std::mem::size_of::<_mjVisual>(),
1976 552usize,
1977 concat!("Size of: ", stringify!(_mjVisual))
1978 );
1979 assert_eq!(
1980 ::std::mem::align_of::<_mjVisual>(),
1981 4usize,
1982 concat!("Alignment of ", stringify!(_mjVisual))
1983 );
1984 assert_eq!(
1985 unsafe { &(*(::std::ptr::null::<_mjVisual>())).global as *const _ as usize },
1986 0usize,
1987 concat!(
1988 "Offset of field: ",
1989 stringify!(_mjVisual),
1990 "::",
1991 stringify!(global)
1992 )
1993 );
1994 assert_eq!(
1995 unsafe { &(*(::std::ptr::null::<_mjVisual>())).quality as *const _ as usize },
1996 24usize,
1997 concat!(
1998 "Offset of field: ",
1999 stringify!(_mjVisual),
2000 "::",
2001 stringify!(quality)
2002 )
2003 );
2004 assert_eq!(
2005 unsafe { &(*(::std::ptr::null::<_mjVisual>())).headlight as *const _ as usize },
2006 44usize,
2007 concat!(
2008 "Offset of field: ",
2009 stringify!(_mjVisual),
2010 "::",
2011 stringify!(headlight)
2012 )
2013 );
2014 assert_eq!(
2015 unsafe { &(*(::std::ptr::null::<_mjVisual>())).map as *const _ as usize },
2016 84usize,
2017 concat!(
2018 "Offset of field: ",
2019 stringify!(_mjVisual),
2020 "::",
2021 stringify!(map)
2022 )
2023 );
2024 assert_eq!(
2025 unsafe { &(*(::std::ptr::null::<_mjVisual>())).scale as *const _ as usize },
2026 136usize,
2027 concat!(
2028 "Offset of field: ",
2029 stringify!(_mjVisual),
2030 "::",
2031 stringify!(scale)
2032 )
2033 );
2034 assert_eq!(
2035 unsafe { &(*(::std::ptr::null::<_mjVisual>())).rgba as *const _ as usize },
2036 200usize,
2037 concat!(
2038 "Offset of field: ",
2039 stringify!(_mjVisual),
2040 "::",
2041 stringify!(rgba)
2042 )
2043 );
2044}
2045pub type mjVisual = _mjVisual;
2046#[repr(C)]
2047#[derive(Debug, Default, Copy, Clone)]
2048pub struct _mjStatistic {
2049 pub meaninertia: mjtNum,
2050 pub meanmass: mjtNum,
2051 pub meansize: mjtNum,
2052 pub extent: mjtNum,
2053 pub center: [mjtNum; 3usize],
2054}
2055#[test]
2056fn bindgen_test_layout__mjStatistic() {
2057 assert_eq!(
2058 ::std::mem::size_of::<_mjStatistic>(),
2059 56usize,
2060 concat!("Size of: ", stringify!(_mjStatistic))
2061 );
2062 assert_eq!(
2063 ::std::mem::align_of::<_mjStatistic>(),
2064 8usize,
2065 concat!("Alignment of ", stringify!(_mjStatistic))
2066 );
2067 assert_eq!(
2068 unsafe {
2069 &(*(::std::ptr::null::<_mjStatistic>())).meaninertia as *const _ as usize
2070 },
2071 0usize,
2072 concat!(
2073 "Offset of field: ",
2074 stringify!(_mjStatistic),
2075 "::",
2076 stringify!(meaninertia)
2077 )
2078 );
2079 assert_eq!(
2080 unsafe {
2081 &(*(::std::ptr::null::<_mjStatistic>())).meanmass as *const _ as usize
2082 },
2083 8usize,
2084 concat!(
2085 "Offset of field: ",
2086 stringify!(_mjStatistic),
2087 "::",
2088 stringify!(meanmass)
2089 )
2090 );
2091 assert_eq!(
2092 unsafe {
2093 &(*(::std::ptr::null::<_mjStatistic>())).meansize as *const _ as usize
2094 },
2095 16usize,
2096 concat!(
2097 "Offset of field: ",
2098 stringify!(_mjStatistic),
2099 "::",
2100 stringify!(meansize)
2101 )
2102 );
2103 assert_eq!(
2104 unsafe { &(*(::std::ptr::null::<_mjStatistic>())).extent as *const _ as usize },
2105 24usize,
2106 concat!(
2107 "Offset of field: ",
2108 stringify!(_mjStatistic),
2109 "::",
2110 stringify!(extent)
2111 )
2112 );
2113 assert_eq!(
2114 unsafe { &(*(::std::ptr::null::<_mjStatistic>())).center as *const _ as usize },
2115 32usize,
2116 concat!(
2117 "Offset of field: ",
2118 stringify!(_mjStatistic),
2119 "::",
2120 stringify!(center)
2121 )
2122 );
2123}
2124pub type mjStatistic = _mjStatistic;
2125#[repr(C)]
2126#[derive(Debug, Copy, Clone)]
2127pub struct _mjModel {
2128 pub nq: ::std::os::raw::c_int,
2129 pub nv: ::std::os::raw::c_int,
2130 pub nu: ::std::os::raw::c_int,
2131 pub na: ::std::os::raw::c_int,
2132 pub nbody: ::std::os::raw::c_int,
2133 pub njnt: ::std::os::raw::c_int,
2134 pub ngeom: ::std::os::raw::c_int,
2135 pub nsite: ::std::os::raw::c_int,
2136 pub ncam: ::std::os::raw::c_int,
2137 pub nlight: ::std::os::raw::c_int,
2138 pub nmesh: ::std::os::raw::c_int,
2139 pub nmeshvert: ::std::os::raw::c_int,
2140 pub nmeshtexvert: ::std::os::raw::c_int,
2141 pub nmeshface: ::std::os::raw::c_int,
2142 pub nmeshgraph: ::std::os::raw::c_int,
2143 pub nskin: ::std::os::raw::c_int,
2144 pub nskinvert: ::std::os::raw::c_int,
2145 pub nskintexvert: ::std::os::raw::c_int,
2146 pub nskinface: ::std::os::raw::c_int,
2147 pub nskinbone: ::std::os::raw::c_int,
2148 pub nskinbonevert: ::std::os::raw::c_int,
2149 pub nhfield: ::std::os::raw::c_int,
2150 pub nhfielddata: ::std::os::raw::c_int,
2151 pub ntex: ::std::os::raw::c_int,
2152 pub ntexdata: ::std::os::raw::c_int,
2153 pub nmat: ::std::os::raw::c_int,
2154 pub npair: ::std::os::raw::c_int,
2155 pub nexclude: ::std::os::raw::c_int,
2156 pub neq: ::std::os::raw::c_int,
2157 pub ntendon: ::std::os::raw::c_int,
2158 pub nwrap: ::std::os::raw::c_int,
2159 pub nsensor: ::std::os::raw::c_int,
2160 pub nnumeric: ::std::os::raw::c_int,
2161 pub nnumericdata: ::std::os::raw::c_int,
2162 pub ntext: ::std::os::raw::c_int,
2163 pub ntextdata: ::std::os::raw::c_int,
2164 pub ntuple: ::std::os::raw::c_int,
2165 pub ntupledata: ::std::os::raw::c_int,
2166 pub nkey: ::std::os::raw::c_int,
2167 pub nuser_body: ::std::os::raw::c_int,
2168 pub nuser_jnt: ::std::os::raw::c_int,
2169 pub nuser_geom: ::std::os::raw::c_int,
2170 pub nuser_site: ::std::os::raw::c_int,
2171 pub nuser_cam: ::std::os::raw::c_int,
2172 pub nuser_tendon: ::std::os::raw::c_int,
2173 pub nuser_actuator: ::std::os::raw::c_int,
2174 pub nuser_sensor: ::std::os::raw::c_int,
2175 pub nnames: ::std::os::raw::c_int,
2176 pub nM: ::std::os::raw::c_int,
2177 pub nemax: ::std::os::raw::c_int,
2178 pub njmax: ::std::os::raw::c_int,
2179 pub nconmax: ::std::os::raw::c_int,
2180 pub nstack: ::std::os::raw::c_int,
2181 pub nuserdata: ::std::os::raw::c_int,
2182 pub nmocap: ::std::os::raw::c_int,
2183 pub nsensordata: ::std::os::raw::c_int,
2184 pub nbuffer: ::std::os::raw::c_int,
2185 pub opt: mjOption,
2186 pub vis: mjVisual,
2187 pub stat: mjStatistic,
2188 pub buffer: *mut ::std::os::raw::c_void,
2189 pub qpos0: *mut mjtNum,
2190 pub qpos_spring: *mut mjtNum,
2191 pub body_parentid: *mut ::std::os::raw::c_int,
2192 pub body_rootid: *mut ::std::os::raw::c_int,
2193 pub body_weldid: *mut ::std::os::raw::c_int,
2194 pub body_mocapid: *mut ::std::os::raw::c_int,
2195 pub body_jntnum: *mut ::std::os::raw::c_int,
2196 pub body_jntadr: *mut ::std::os::raw::c_int,
2197 pub body_dofnum: *mut ::std::os::raw::c_int,
2198 pub body_dofadr: *mut ::std::os::raw::c_int,
2199 pub body_geomnum: *mut ::std::os::raw::c_int,
2200 pub body_geomadr: *mut ::std::os::raw::c_int,
2201 pub body_simple: *mut mjtByte,
2202 pub body_sameframe: *mut mjtByte,
2203 pub body_pos: *mut mjtNum,
2204 pub body_quat: *mut mjtNum,
2205 pub body_ipos: *mut mjtNum,
2206 pub body_iquat: *mut mjtNum,
2207 pub body_mass: *mut mjtNum,
2208 pub body_subtreemass: *mut mjtNum,
2209 pub body_inertia: *mut mjtNum,
2210 pub body_invweight0: *mut mjtNum,
2211 pub body_user: *mut mjtNum,
2212 pub jnt_type: *mut ::std::os::raw::c_int,
2213 pub jnt_qposadr: *mut ::std::os::raw::c_int,
2214 pub jnt_dofadr: *mut ::std::os::raw::c_int,
2215 pub jnt_bodyid: *mut ::std::os::raw::c_int,
2216 pub jnt_group: *mut ::std::os::raw::c_int,
2217 pub jnt_limited: *mut mjtByte,
2218 pub jnt_solref: *mut mjtNum,
2219 pub jnt_solimp: *mut mjtNum,
2220 pub jnt_pos: *mut mjtNum,
2221 pub jnt_axis: *mut mjtNum,
2222 pub jnt_stiffness: *mut mjtNum,
2223 pub jnt_range: *mut mjtNum,
2224 pub jnt_margin: *mut mjtNum,
2225 pub jnt_user: *mut mjtNum,
2226 pub dof_bodyid: *mut ::std::os::raw::c_int,
2227 pub dof_jntid: *mut ::std::os::raw::c_int,
2228 pub dof_parentid: *mut ::std::os::raw::c_int,
2229 pub dof_Madr: *mut ::std::os::raw::c_int,
2230 pub dof_simplenum: *mut ::std::os::raw::c_int,
2231 pub dof_solref: *mut mjtNum,
2232 pub dof_solimp: *mut mjtNum,
2233 pub dof_frictionloss: *mut mjtNum,
2234 pub dof_armature: *mut mjtNum,
2235 pub dof_damping: *mut mjtNum,
2236 pub dof_invweight0: *mut mjtNum,
2237 pub dof_M0: *mut mjtNum,
2238 pub geom_type: *mut ::std::os::raw::c_int,
2239 pub geom_contype: *mut ::std::os::raw::c_int,
2240 pub geom_conaffinity: *mut ::std::os::raw::c_int,
2241 pub geom_condim: *mut ::std::os::raw::c_int,
2242 pub geom_bodyid: *mut ::std::os::raw::c_int,
2243 pub geom_dataid: *mut ::std::os::raw::c_int,
2244 pub geom_matid: *mut ::std::os::raw::c_int,
2245 pub geom_group: *mut ::std::os::raw::c_int,
2246 pub geom_priority: *mut ::std::os::raw::c_int,
2247 pub geom_sameframe: *mut mjtByte,
2248 pub geom_solmix: *mut mjtNum,
2249 pub geom_solref: *mut mjtNum,
2250 pub geom_solimp: *mut mjtNum,
2251 pub geom_size: *mut mjtNum,
2252 pub geom_rbound: *mut mjtNum,
2253 pub geom_pos: *mut mjtNum,
2254 pub geom_quat: *mut mjtNum,
2255 pub geom_friction: *mut mjtNum,
2256 pub geom_margin: *mut mjtNum,
2257 pub geom_gap: *mut mjtNum,
2258 pub geom_user: *mut mjtNum,
2259 pub geom_rgba: *mut f32,
2260 pub site_type: *mut ::std::os::raw::c_int,
2261 pub site_bodyid: *mut ::std::os::raw::c_int,
2262 pub site_matid: *mut ::std::os::raw::c_int,
2263 pub site_group: *mut ::std::os::raw::c_int,
2264 pub site_sameframe: *mut mjtByte,
2265 pub site_size: *mut mjtNum,
2266 pub site_pos: *mut mjtNum,
2267 pub site_quat: *mut mjtNum,
2268 pub site_user: *mut mjtNum,
2269 pub site_rgba: *mut f32,
2270 pub cam_mode: *mut ::std::os::raw::c_int,
2271 pub cam_bodyid: *mut ::std::os::raw::c_int,
2272 pub cam_targetbodyid: *mut ::std::os::raw::c_int,
2273 pub cam_pos: *mut mjtNum,
2274 pub cam_quat: *mut mjtNum,
2275 pub cam_poscom0: *mut mjtNum,
2276 pub cam_pos0: *mut mjtNum,
2277 pub cam_mat0: *mut mjtNum,
2278 pub cam_fovy: *mut mjtNum,
2279 pub cam_ipd: *mut mjtNum,
2280 pub cam_user: *mut mjtNum,
2281 pub light_mode: *mut ::std::os::raw::c_int,
2282 pub light_bodyid: *mut ::std::os::raw::c_int,
2283 pub light_targetbodyid: *mut ::std::os::raw::c_int,
2284 pub light_directional: *mut mjtByte,
2285 pub light_castshadow: *mut mjtByte,
2286 pub light_active: *mut mjtByte,
2287 pub light_pos: *mut mjtNum,
2288 pub light_dir: *mut mjtNum,
2289 pub light_poscom0: *mut mjtNum,
2290 pub light_pos0: *mut mjtNum,
2291 pub light_dir0: *mut mjtNum,
2292 pub light_attenuation: *mut f32,
2293 pub light_cutoff: *mut f32,
2294 pub light_exponent: *mut f32,
2295 pub light_ambient: *mut f32,
2296 pub light_diffuse: *mut f32,
2297 pub light_specular: *mut f32,
2298 pub mesh_vertadr: *mut ::std::os::raw::c_int,
2299 pub mesh_vertnum: *mut ::std::os::raw::c_int,
2300 pub mesh_texcoordadr: *mut ::std::os::raw::c_int,
2301 pub mesh_faceadr: *mut ::std::os::raw::c_int,
2302 pub mesh_facenum: *mut ::std::os::raw::c_int,
2303 pub mesh_graphadr: *mut ::std::os::raw::c_int,
2304 pub mesh_vert: *mut f32,
2305 pub mesh_normal: *mut f32,
2306 pub mesh_texcoord: *mut f32,
2307 pub mesh_face: *mut ::std::os::raw::c_int,
2308 pub mesh_graph: *mut ::std::os::raw::c_int,
2309 pub skin_matid: *mut ::std::os::raw::c_int,
2310 pub skin_rgba: *mut f32,
2311 pub skin_inflate: *mut f32,
2312 pub skin_vertadr: *mut ::std::os::raw::c_int,
2313 pub skin_vertnum: *mut ::std::os::raw::c_int,
2314 pub skin_texcoordadr: *mut ::std::os::raw::c_int,
2315 pub skin_faceadr: *mut ::std::os::raw::c_int,
2316 pub skin_facenum: *mut ::std::os::raw::c_int,
2317 pub skin_boneadr: *mut ::std::os::raw::c_int,
2318 pub skin_bonenum: *mut ::std::os::raw::c_int,
2319 pub skin_vert: *mut f32,
2320 pub skin_texcoord: *mut f32,
2321 pub skin_face: *mut ::std::os::raw::c_int,
2322 pub skin_bonevertadr: *mut ::std::os::raw::c_int,
2323 pub skin_bonevertnum: *mut ::std::os::raw::c_int,
2324 pub skin_bonebindpos: *mut f32,
2325 pub skin_bonebindquat: *mut f32,
2326 pub skin_bonebodyid: *mut ::std::os::raw::c_int,
2327 pub skin_bonevertid: *mut ::std::os::raw::c_int,
2328 pub skin_bonevertweight: *mut f32,
2329 pub hfield_size: *mut mjtNum,
2330 pub hfield_nrow: *mut ::std::os::raw::c_int,
2331 pub hfield_ncol: *mut ::std::os::raw::c_int,
2332 pub hfield_adr: *mut ::std::os::raw::c_int,
2333 pub hfield_data: *mut f32,
2334 pub tex_type: *mut ::std::os::raw::c_int,
2335 pub tex_height: *mut ::std::os::raw::c_int,
2336 pub tex_width: *mut ::std::os::raw::c_int,
2337 pub tex_adr: *mut ::std::os::raw::c_int,
2338 pub tex_rgb: *mut mjtByte,
2339 pub mat_texid: *mut ::std::os::raw::c_int,
2340 pub mat_texuniform: *mut mjtByte,
2341 pub mat_texrepeat: *mut f32,
2342 pub mat_emission: *mut f32,
2343 pub mat_specular: *mut f32,
2344 pub mat_shininess: *mut f32,
2345 pub mat_reflectance: *mut f32,
2346 pub mat_rgba: *mut f32,
2347 pub pair_dim: *mut ::std::os::raw::c_int,
2348 pub pair_geom1: *mut ::std::os::raw::c_int,
2349 pub pair_geom2: *mut ::std::os::raw::c_int,
2350 pub pair_signature: *mut ::std::os::raw::c_int,
2351 pub pair_solref: *mut mjtNum,
2352 pub pair_solimp: *mut mjtNum,
2353 pub pair_margin: *mut mjtNum,
2354 pub pair_gap: *mut mjtNum,
2355 pub pair_friction: *mut mjtNum,
2356 pub exclude_signature: *mut ::std::os::raw::c_int,
2357 pub eq_type: *mut ::std::os::raw::c_int,
2358 pub eq_obj1id: *mut ::std::os::raw::c_int,
2359 pub eq_obj2id: *mut ::std::os::raw::c_int,
2360 pub eq_active: *mut mjtByte,
2361 pub eq_solref: *mut mjtNum,
2362 pub eq_solimp: *mut mjtNum,
2363 pub eq_data: *mut mjtNum,
2364 pub tendon_adr: *mut ::std::os::raw::c_int,
2365 pub tendon_num: *mut ::std::os::raw::c_int,
2366 pub tendon_matid: *mut ::std::os::raw::c_int,
2367 pub tendon_group: *mut ::std::os::raw::c_int,
2368 pub tendon_limited: *mut mjtByte,
2369 pub tendon_width: *mut mjtNum,
2370 pub tendon_solref_lim: *mut mjtNum,
2371 pub tendon_solimp_lim: *mut mjtNum,
2372 pub tendon_solref_fri: *mut mjtNum,
2373 pub tendon_solimp_fri: *mut mjtNum,
2374 pub tendon_range: *mut mjtNum,
2375 pub tendon_margin: *mut mjtNum,
2376 pub tendon_stiffness: *mut mjtNum,
2377 pub tendon_damping: *mut mjtNum,
2378 pub tendon_frictionloss: *mut mjtNum,
2379 pub tendon_lengthspring: *mut mjtNum,
2380 pub tendon_length0: *mut mjtNum,
2381 pub tendon_invweight0: *mut mjtNum,
2382 pub tendon_user: *mut mjtNum,
2383 pub tendon_rgba: *mut f32,
2384 pub wrap_type: *mut ::std::os::raw::c_int,
2385 pub wrap_objid: *mut ::std::os::raw::c_int,
2386 pub wrap_prm: *mut mjtNum,
2387 pub actuator_trntype: *mut ::std::os::raw::c_int,
2388 pub actuator_dyntype: *mut ::std::os::raw::c_int,
2389 pub actuator_gaintype: *mut ::std::os::raw::c_int,
2390 pub actuator_biastype: *mut ::std::os::raw::c_int,
2391 pub actuator_trnid: *mut ::std::os::raw::c_int,
2392 pub actuator_group: *mut ::std::os::raw::c_int,
2393 pub actuator_ctrllimited: *mut mjtByte,
2394 pub actuator_forcelimited: *mut mjtByte,
2395 pub actuator_dynprm: *mut mjtNum,
2396 pub actuator_gainprm: *mut mjtNum,
2397 pub actuator_biasprm: *mut mjtNum,
2398 pub actuator_ctrlrange: *mut mjtNum,
2399 pub actuator_forcerange: *mut mjtNum,
2400 pub actuator_gear: *mut mjtNum,
2401 pub actuator_cranklength: *mut mjtNum,
2402 pub actuator_acc0: *mut mjtNum,
2403 pub actuator_length0: *mut mjtNum,
2404 pub actuator_lengthrange: *mut mjtNum,
2405 pub actuator_user: *mut mjtNum,
2406 pub sensor_type: *mut ::std::os::raw::c_int,
2407 pub sensor_datatype: *mut ::std::os::raw::c_int,
2408 pub sensor_needstage: *mut ::std::os::raw::c_int,
2409 pub sensor_objtype: *mut ::std::os::raw::c_int,
2410 pub sensor_objid: *mut ::std::os::raw::c_int,
2411 pub sensor_dim: *mut ::std::os::raw::c_int,
2412 pub sensor_adr: *mut ::std::os::raw::c_int,
2413 pub sensor_cutoff: *mut mjtNum,
2414 pub sensor_noise: *mut mjtNum,
2415 pub sensor_user: *mut mjtNum,
2416 pub numeric_adr: *mut ::std::os::raw::c_int,
2417 pub numeric_size: *mut ::std::os::raw::c_int,
2418 pub numeric_data: *mut mjtNum,
2419 pub text_adr: *mut ::std::os::raw::c_int,
2420 pub text_size: *mut ::std::os::raw::c_int,
2421 pub text_data: *mut ::std::os::raw::c_char,
2422 pub tuple_adr: *mut ::std::os::raw::c_int,
2423 pub tuple_size: *mut ::std::os::raw::c_int,
2424 pub tuple_objtype: *mut ::std::os::raw::c_int,
2425 pub tuple_objid: *mut ::std::os::raw::c_int,
2426 pub tuple_objprm: *mut mjtNum,
2427 pub key_time: *mut mjtNum,
2428 pub key_qpos: *mut mjtNum,
2429 pub key_qvel: *mut mjtNum,
2430 pub key_act: *mut mjtNum,
2431 pub name_bodyadr: *mut ::std::os::raw::c_int,
2432 pub name_jntadr: *mut ::std::os::raw::c_int,
2433 pub name_geomadr: *mut ::std::os::raw::c_int,
2434 pub name_siteadr: *mut ::std::os::raw::c_int,
2435 pub name_camadr: *mut ::std::os::raw::c_int,
2436 pub name_lightadr: *mut ::std::os::raw::c_int,
2437 pub name_meshadr: *mut ::std::os::raw::c_int,
2438 pub name_skinadr: *mut ::std::os::raw::c_int,
2439 pub name_hfieldadr: *mut ::std::os::raw::c_int,
2440 pub name_texadr: *mut ::std::os::raw::c_int,
2441 pub name_matadr: *mut ::std::os::raw::c_int,
2442 pub name_pairadr: *mut ::std::os::raw::c_int,
2443 pub name_excludeadr: *mut ::std::os::raw::c_int,
2444 pub name_eqadr: *mut ::std::os::raw::c_int,
2445 pub name_tendonadr: *mut ::std::os::raw::c_int,
2446 pub name_actuatoradr: *mut ::std::os::raw::c_int,
2447 pub name_sensoradr: *mut ::std::os::raw::c_int,
2448 pub name_numericadr: *mut ::std::os::raw::c_int,
2449 pub name_textadr: *mut ::std::os::raw::c_int,
2450 pub name_tupleadr: *mut ::std::os::raw::c_int,
2451 pub name_keyadr: *mut ::std::os::raw::c_int,
2452 pub names: *mut ::std::os::raw::c_char,
2453}
2454#[test]
2455fn bindgen_test_layout__mjModel() {
2456 assert_eq!(
2457 ::std::mem::size_of::<_mjModel>(),
2458 3200usize,
2459 concat!("Size of: ", stringify!(_mjModel))
2460 );
2461 assert_eq!(
2462 ::std::mem::align_of::<_mjModel>(),
2463 8usize,
2464 concat!("Alignment of ", stringify!(_mjModel))
2465 );
2466 assert_eq!(
2467 unsafe { &(*(::std::ptr::null::<_mjModel>())).nq as *const _ as usize },
2468 0usize,
2469 concat!(
2470 "Offset of field: ",
2471 stringify!(_mjModel),
2472 "::",
2473 stringify!(nq)
2474 )
2475 );
2476 assert_eq!(
2477 unsafe { &(*(::std::ptr::null::<_mjModel>())).nv as *const _ as usize },
2478 4usize,
2479 concat!(
2480 "Offset of field: ",
2481 stringify!(_mjModel),
2482 "::",
2483 stringify!(nv)
2484 )
2485 );
2486 assert_eq!(
2487 unsafe { &(*(::std::ptr::null::<_mjModel>())).nu as *const _ as usize },
2488 8usize,
2489 concat!(
2490 "Offset of field: ",
2491 stringify!(_mjModel),
2492 "::",
2493 stringify!(nu)
2494 )
2495 );
2496 assert_eq!(
2497 unsafe { &(*(::std::ptr::null::<_mjModel>())).na as *const _ as usize },
2498 12usize,
2499 concat!(
2500 "Offset of field: ",
2501 stringify!(_mjModel),
2502 "::",
2503 stringify!(na)
2504 )
2505 );
2506 assert_eq!(
2507 unsafe { &(*(::std::ptr::null::<_mjModel>())).nbody as *const _ as usize },
2508 16usize,
2509 concat!(
2510 "Offset of field: ",
2511 stringify!(_mjModel),
2512 "::",
2513 stringify!(nbody)
2514 )
2515 );
2516 assert_eq!(
2517 unsafe { &(*(::std::ptr::null::<_mjModel>())).njnt as *const _ as usize },
2518 20usize,
2519 concat!(
2520 "Offset of field: ",
2521 stringify!(_mjModel),
2522 "::",
2523 stringify!(njnt)
2524 )
2525 );
2526 assert_eq!(
2527 unsafe { &(*(::std::ptr::null::<_mjModel>())).ngeom as *const _ as usize },
2528 24usize,
2529 concat!(
2530 "Offset of field: ",
2531 stringify!(_mjModel),
2532 "::",
2533 stringify!(ngeom)
2534 )
2535 );
2536 assert_eq!(
2537 unsafe { &(*(::std::ptr::null::<_mjModel>())).nsite as *const _ as usize },
2538 28usize,
2539 concat!(
2540 "Offset of field: ",
2541 stringify!(_mjModel),
2542 "::",
2543 stringify!(nsite)
2544 )
2545 );
2546 assert_eq!(
2547 unsafe { &(*(::std::ptr::null::<_mjModel>())).ncam as *const _ as usize },
2548 32usize,
2549 concat!(
2550 "Offset of field: ",
2551 stringify!(_mjModel),
2552 "::",
2553 stringify!(ncam)
2554 )
2555 );
2556 assert_eq!(
2557 unsafe { &(*(::std::ptr::null::<_mjModel>())).nlight as *const _ as usize },
2558 36usize,
2559 concat!(
2560 "Offset of field: ",
2561 stringify!(_mjModel),
2562 "::",
2563 stringify!(nlight)
2564 )
2565 );
2566 assert_eq!(
2567 unsafe { &(*(::std::ptr::null::<_mjModel>())).nmesh as *const _ as usize },
2568 40usize,
2569 concat!(
2570 "Offset of field: ",
2571 stringify!(_mjModel),
2572 "::",
2573 stringify!(nmesh)
2574 )
2575 );
2576 assert_eq!(
2577 unsafe { &(*(::std::ptr::null::<_mjModel>())).nmeshvert as *const _ as usize },
2578 44usize,
2579 concat!(
2580 "Offset of field: ",
2581 stringify!(_mjModel),
2582 "::",
2583 stringify!(nmeshvert)
2584 )
2585 );
2586 assert_eq!(
2587 unsafe {
2588 &(*(::std::ptr::null::<_mjModel>())).nmeshtexvert as *const _ as usize
2589 },
2590 48usize,
2591 concat!(
2592 "Offset of field: ",
2593 stringify!(_mjModel),
2594 "::",
2595 stringify!(nmeshtexvert)
2596 )
2597 );
2598 assert_eq!(
2599 unsafe { &(*(::std::ptr::null::<_mjModel>())).nmeshface as *const _ as usize },
2600 52usize,
2601 concat!(
2602 "Offset of field: ",
2603 stringify!(_mjModel),
2604 "::",
2605 stringify!(nmeshface)
2606 )
2607 );
2608 assert_eq!(
2609 unsafe { &(*(::std::ptr::null::<_mjModel>())).nmeshgraph as *const _ as usize },
2610 56usize,
2611 concat!(
2612 "Offset of field: ",
2613 stringify!(_mjModel),
2614 "::",
2615 stringify!(nmeshgraph)
2616 )
2617 );
2618 assert_eq!(
2619 unsafe { &(*(::std::ptr::null::<_mjModel>())).nskin as *const _ as usize },
2620 60usize,
2621 concat!(
2622 "Offset of field: ",
2623 stringify!(_mjModel),
2624 "::",
2625 stringify!(nskin)
2626 )
2627 );
2628 assert_eq!(
2629 unsafe { &(*(::std::ptr::null::<_mjModel>())).nskinvert as *const _ as usize },
2630 64usize,
2631 concat!(
2632 "Offset of field: ",
2633 stringify!(_mjModel),
2634 "::",
2635 stringify!(nskinvert)
2636 )
2637 );
2638 assert_eq!(
2639 unsafe {
2640 &(*(::std::ptr::null::<_mjModel>())).nskintexvert as *const _ as usize
2641 },
2642 68usize,
2643 concat!(
2644 "Offset of field: ",
2645 stringify!(_mjModel),
2646 "::",
2647 stringify!(nskintexvert)
2648 )
2649 );
2650 assert_eq!(
2651 unsafe { &(*(::std::ptr::null::<_mjModel>())).nskinface as *const _ as usize },
2652 72usize,
2653 concat!(
2654 "Offset of field: ",
2655 stringify!(_mjModel),
2656 "::",
2657 stringify!(nskinface)
2658 )
2659 );
2660 assert_eq!(
2661 unsafe { &(*(::std::ptr::null::<_mjModel>())).nskinbone as *const _ as usize },
2662 76usize,
2663 concat!(
2664 "Offset of field: ",
2665 stringify!(_mjModel),
2666 "::",
2667 stringify!(nskinbone)
2668 )
2669 );
2670 assert_eq!(
2671 unsafe {
2672 &(*(::std::ptr::null::<_mjModel>())).nskinbonevert as *const _ as usize
2673 },
2674 80usize,
2675 concat!(
2676 "Offset of field: ",
2677 stringify!(_mjModel),
2678 "::",
2679 stringify!(nskinbonevert)
2680 )
2681 );
2682 assert_eq!(
2683 unsafe { &(*(::std::ptr::null::<_mjModel>())).nhfield as *const _ as usize },
2684 84usize,
2685 concat!(
2686 "Offset of field: ",
2687 stringify!(_mjModel),
2688 "::",
2689 stringify!(nhfield)
2690 )
2691 );
2692 assert_eq!(
2693 unsafe {
2694 &(*(::std::ptr::null::<_mjModel>())).nhfielddata as *const _ as usize
2695 },
2696 88usize,
2697 concat!(
2698 "Offset of field: ",
2699 stringify!(_mjModel),
2700 "::",
2701 stringify!(nhfielddata)
2702 )
2703 );
2704 assert_eq!(
2705 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntex as *const _ as usize },
2706 92usize,
2707 concat!(
2708 "Offset of field: ",
2709 stringify!(_mjModel),
2710 "::",
2711 stringify!(ntex)
2712 )
2713 );
2714 assert_eq!(
2715 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntexdata as *const _ as usize },
2716 96usize,
2717 concat!(
2718 "Offset of field: ",
2719 stringify!(_mjModel),
2720 "::",
2721 stringify!(ntexdata)
2722 )
2723 );
2724 assert_eq!(
2725 unsafe { &(*(::std::ptr::null::<_mjModel>())).nmat as *const _ as usize },
2726 100usize,
2727 concat!(
2728 "Offset of field: ",
2729 stringify!(_mjModel),
2730 "::",
2731 stringify!(nmat)
2732 )
2733 );
2734 assert_eq!(
2735 unsafe { &(*(::std::ptr::null::<_mjModel>())).npair as *const _ as usize },
2736 104usize,
2737 concat!(
2738 "Offset of field: ",
2739 stringify!(_mjModel),
2740 "::",
2741 stringify!(npair)
2742 )
2743 );
2744 assert_eq!(
2745 unsafe { &(*(::std::ptr::null::<_mjModel>())).nexclude as *const _ as usize },
2746 108usize,
2747 concat!(
2748 "Offset of field: ",
2749 stringify!(_mjModel),
2750 "::",
2751 stringify!(nexclude)
2752 )
2753 );
2754 assert_eq!(
2755 unsafe { &(*(::std::ptr::null::<_mjModel>())).neq as *const _ as usize },
2756 112usize,
2757 concat!(
2758 "Offset of field: ",
2759 stringify!(_mjModel),
2760 "::",
2761 stringify!(neq)
2762 )
2763 );
2764 assert_eq!(
2765 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntendon as *const _ as usize },
2766 116usize,
2767 concat!(
2768 "Offset of field: ",
2769 stringify!(_mjModel),
2770 "::",
2771 stringify!(ntendon)
2772 )
2773 );
2774 assert_eq!(
2775 unsafe { &(*(::std::ptr::null::<_mjModel>())).nwrap as *const _ as usize },
2776 120usize,
2777 concat!(
2778 "Offset of field: ",
2779 stringify!(_mjModel),
2780 "::",
2781 stringify!(nwrap)
2782 )
2783 );
2784 assert_eq!(
2785 unsafe { &(*(::std::ptr::null::<_mjModel>())).nsensor as *const _ as usize },
2786 124usize,
2787 concat!(
2788 "Offset of field: ",
2789 stringify!(_mjModel),
2790 "::",
2791 stringify!(nsensor)
2792 )
2793 );
2794 assert_eq!(
2795 unsafe { &(*(::std::ptr::null::<_mjModel>())).nnumeric as *const _ as usize },
2796 128usize,
2797 concat!(
2798 "Offset of field: ",
2799 stringify!(_mjModel),
2800 "::",
2801 stringify!(nnumeric)
2802 )
2803 );
2804 assert_eq!(
2805 unsafe {
2806 &(*(::std::ptr::null::<_mjModel>())).nnumericdata as *const _ as usize
2807 },
2808 132usize,
2809 concat!(
2810 "Offset of field: ",
2811 stringify!(_mjModel),
2812 "::",
2813 stringify!(nnumericdata)
2814 )
2815 );
2816 assert_eq!(
2817 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntext as *const _ as usize },
2818 136usize,
2819 concat!(
2820 "Offset of field: ",
2821 stringify!(_mjModel),
2822 "::",
2823 stringify!(ntext)
2824 )
2825 );
2826 assert_eq!(
2827 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntextdata as *const _ as usize },
2828 140usize,
2829 concat!(
2830 "Offset of field: ",
2831 stringify!(_mjModel),
2832 "::",
2833 stringify!(ntextdata)
2834 )
2835 );
2836 assert_eq!(
2837 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntuple as *const _ as usize },
2838 144usize,
2839 concat!(
2840 "Offset of field: ",
2841 stringify!(_mjModel),
2842 "::",
2843 stringify!(ntuple)
2844 )
2845 );
2846 assert_eq!(
2847 unsafe { &(*(::std::ptr::null::<_mjModel>())).ntupledata as *const _ as usize },
2848 148usize,
2849 concat!(
2850 "Offset of field: ",
2851 stringify!(_mjModel),
2852 "::",
2853 stringify!(ntupledata)
2854 )
2855 );
2856 assert_eq!(
2857 unsafe { &(*(::std::ptr::null::<_mjModel>())).nkey as *const _ as usize },
2858 152usize,
2859 concat!(
2860 "Offset of field: ",
2861 stringify!(_mjModel),
2862 "::",
2863 stringify!(nkey)
2864 )
2865 );
2866 assert_eq!(
2867 unsafe { &(*(::std::ptr::null::<_mjModel>())).nuser_body as *const _ as usize },
2868 156usize,
2869 concat!(
2870 "Offset of field: ",
2871 stringify!(_mjModel),
2872 "::",
2873 stringify!(nuser_body)
2874 )
2875 );
2876 assert_eq!(
2877 unsafe { &(*(::std::ptr::null::<_mjModel>())).nuser_jnt as *const _ as usize },
2878 160usize,
2879 concat!(
2880 "Offset of field: ",
2881 stringify!(_mjModel),
2882 "::",
2883 stringify!(nuser_jnt)
2884 )
2885 );
2886 assert_eq!(
2887 unsafe { &(*(::std::ptr::null::<_mjModel>())).nuser_geom as *const _ as usize },
2888 164usize,
2889 concat!(
2890 "Offset of field: ",
2891 stringify!(_mjModel),
2892 "::",
2893 stringify!(nuser_geom)
2894 )
2895 );
2896 assert_eq!(
2897 unsafe { &(*(::std::ptr::null::<_mjModel>())).nuser_site as *const _ as usize },
2898 168usize,
2899 concat!(
2900 "Offset of field: ",
2901 stringify!(_mjModel),
2902 "::",
2903 stringify!(nuser_site)
2904 )
2905 );
2906 assert_eq!(
2907 unsafe { &(*(::std::ptr::null::<_mjModel>())).nuser_cam as *const _ as usize },
2908 172usize,
2909 concat!(
2910 "Offset of field: ",
2911 stringify!(_mjModel),
2912 "::",
2913 stringify!(nuser_cam)
2914 )
2915 );
2916 assert_eq!(
2917 unsafe {
2918 &(*(::std::ptr::null::<_mjModel>())).nuser_tendon as *const _ as usize
2919 },
2920 176usize,
2921 concat!(
2922 "Offset of field: ",
2923 stringify!(_mjModel),
2924 "::",
2925 stringify!(nuser_tendon)
2926 )
2927 );
2928 assert_eq!(
2929 unsafe {
2930 &(*(::std::ptr::null::<_mjModel>())).nuser_actuator as *const _ as usize
2931 },
2932 180usize,
2933 concat!(
2934 "Offset of field: ",
2935 stringify!(_mjModel),
2936 "::",
2937 stringify!(nuser_actuator)
2938 )
2939 );
2940 assert_eq!(
2941 unsafe {
2942 &(*(::std::ptr::null::<_mjModel>())).nuser_sensor as *const _ as usize
2943 },
2944 184usize,
2945 concat!(
2946 "Offset of field: ",
2947 stringify!(_mjModel),
2948 "::",
2949 stringify!(nuser_sensor)
2950 )
2951 );
2952 assert_eq!(
2953 unsafe { &(*(::std::ptr::null::<_mjModel>())).nnames as *const _ as usize },
2954 188usize,
2955 concat!(
2956 "Offset of field: ",
2957 stringify!(_mjModel),
2958 "::",
2959 stringify!(nnames)
2960 )
2961 );
2962 assert_eq!(
2963 unsafe { &(*(::std::ptr::null::<_mjModel>())).nM as *const _ as usize },
2964 192usize,
2965 concat!(
2966 "Offset of field: ",
2967 stringify!(_mjModel),
2968 "::",
2969 stringify!(nM)
2970 )
2971 );
2972 assert_eq!(
2973 unsafe { &(*(::std::ptr::null::<_mjModel>())).nemax as *const _ as usize },
2974 196usize,
2975 concat!(
2976 "Offset of field: ",
2977 stringify!(_mjModel),
2978 "::",
2979 stringify!(nemax)
2980 )
2981 );
2982 assert_eq!(
2983 unsafe { &(*(::std::ptr::null::<_mjModel>())).njmax as *const _ as usize },
2984 200usize,
2985 concat!(
2986 "Offset of field: ",
2987 stringify!(_mjModel),
2988 "::",
2989 stringify!(njmax)
2990 )
2991 );
2992 assert_eq!(
2993 unsafe { &(*(::std::ptr::null::<_mjModel>())).nconmax as *const _ as usize },
2994 204usize,
2995 concat!(
2996 "Offset of field: ",
2997 stringify!(_mjModel),
2998 "::",
2999 stringify!(nconmax)
3000 )
3001 );
3002 assert_eq!(
3003 unsafe { &(*(::std::ptr::null::<_mjModel>())).nstack as *const _ as usize },
3004 208usize,
3005 concat!(
3006 "Offset of field: ",
3007 stringify!(_mjModel),
3008 "::",
3009 stringify!(nstack)
3010 )
3011 );
3012 assert_eq!(
3013 unsafe { &(*(::std::ptr::null::<_mjModel>())).nuserdata as *const _ as usize },
3014 212usize,
3015 concat!(
3016 "Offset of field: ",
3017 stringify!(_mjModel),
3018 "::",
3019 stringify!(nuserdata)
3020 )
3021 );
3022 assert_eq!(
3023 unsafe { &(*(::std::ptr::null::<_mjModel>())).nmocap as *const _ as usize },
3024 216usize,
3025 concat!(
3026 "Offset of field: ",
3027 stringify!(_mjModel),
3028 "::",
3029 stringify!(nmocap)
3030 )
3031 );
3032 assert_eq!(
3033 unsafe {
3034 &(*(::std::ptr::null::<_mjModel>())).nsensordata as *const _ as usize
3035 },
3036 220usize,
3037 concat!(
3038 "Offset of field: ",
3039 stringify!(_mjModel),
3040 "::",
3041 stringify!(nsensordata)
3042 )
3043 );
3044 assert_eq!(
3045 unsafe { &(*(::std::ptr::null::<_mjModel>())).nbuffer as *const _ as usize },
3046 224usize,
3047 concat!(
3048 "Offset of field: ",
3049 stringify!(_mjModel),
3050 "::",
3051 stringify!(nbuffer)
3052 )
3053 );
3054 assert_eq!(
3055 unsafe { &(*(::std::ptr::null::<_mjModel>())).opt as *const _ as usize },
3056 232usize,
3057 concat!(
3058 "Offset of field: ",
3059 stringify!(_mjModel),
3060 "::",
3061 stringify!(opt)
3062 )
3063 );
3064 assert_eq!(
3065 unsafe { &(*(::std::ptr::null::<_mjModel>())).vis as *const _ as usize },
3066 472usize,
3067 concat!(
3068 "Offset of field: ",
3069 stringify!(_mjModel),
3070 "::",
3071 stringify!(vis)
3072 )
3073 );
3074 assert_eq!(
3075 unsafe { &(*(::std::ptr::null::<_mjModel>())).stat as *const _ as usize },
3076 1024usize,
3077 concat!(
3078 "Offset of field: ",
3079 stringify!(_mjModel),
3080 "::",
3081 stringify!(stat)
3082 )
3083 );
3084 assert_eq!(
3085 unsafe { &(*(::std::ptr::null::<_mjModel>())).buffer as *const _ as usize },
3086 1080usize,
3087 concat!(
3088 "Offset of field: ",
3089 stringify!(_mjModel),
3090 "::",
3091 stringify!(buffer)
3092 )
3093 );
3094 assert_eq!(
3095 unsafe { &(*(::std::ptr::null::<_mjModel>())).qpos0 as *const _ as usize },
3096 1088usize,
3097 concat!(
3098 "Offset of field: ",
3099 stringify!(_mjModel),
3100 "::",
3101 stringify!(qpos0)
3102 )
3103 );
3104 assert_eq!(
3105 unsafe {
3106 &(*(::std::ptr::null::<_mjModel>())).qpos_spring as *const _ as usize
3107 },
3108 1096usize,
3109 concat!(
3110 "Offset of field: ",
3111 stringify!(_mjModel),
3112 "::",
3113 stringify!(qpos_spring)
3114 )
3115 );
3116 assert_eq!(
3117 unsafe {
3118 &(*(::std::ptr::null::<_mjModel>())).body_parentid as *const _ as usize
3119 },
3120 1104usize,
3121 concat!(
3122 "Offset of field: ",
3123 stringify!(_mjModel),
3124 "::",
3125 stringify!(body_parentid)
3126 )
3127 );
3128 assert_eq!(
3129 unsafe {
3130 &(*(::std::ptr::null::<_mjModel>())).body_rootid as *const _ as usize
3131 },
3132 1112usize,
3133 concat!(
3134 "Offset of field: ",
3135 stringify!(_mjModel),
3136 "::",
3137 stringify!(body_rootid)
3138 )
3139 );
3140 assert_eq!(
3141 unsafe {
3142 &(*(::std::ptr::null::<_mjModel>())).body_weldid as *const _ as usize
3143 },
3144 1120usize,
3145 concat!(
3146 "Offset of field: ",
3147 stringify!(_mjModel),
3148 "::",
3149 stringify!(body_weldid)
3150 )
3151 );
3152 assert_eq!(
3153 unsafe {
3154 &(*(::std::ptr::null::<_mjModel>())).body_mocapid as *const _ as usize
3155 },
3156 1128usize,
3157 concat!(
3158 "Offset of field: ",
3159 stringify!(_mjModel),
3160 "::",
3161 stringify!(body_mocapid)
3162 )
3163 );
3164 assert_eq!(
3165 unsafe {
3166 &(*(::std::ptr::null::<_mjModel>())).body_jntnum as *const _ as usize
3167 },
3168 1136usize,
3169 concat!(
3170 "Offset of field: ",
3171 stringify!(_mjModel),
3172 "::",
3173 stringify!(body_jntnum)
3174 )
3175 );
3176 assert_eq!(
3177 unsafe {
3178 &(*(::std::ptr::null::<_mjModel>())).body_jntadr as *const _ as usize
3179 },
3180 1144usize,
3181 concat!(
3182 "Offset of field: ",
3183 stringify!(_mjModel),
3184 "::",
3185 stringify!(body_jntadr)
3186 )
3187 );
3188 assert_eq!(
3189 unsafe {
3190 &(*(::std::ptr::null::<_mjModel>())).body_dofnum as *const _ as usize
3191 },
3192 1152usize,
3193 concat!(
3194 "Offset of field: ",
3195 stringify!(_mjModel),
3196 "::",
3197 stringify!(body_dofnum)
3198 )
3199 );
3200 assert_eq!(
3201 unsafe {
3202 &(*(::std::ptr::null::<_mjModel>())).body_dofadr as *const _ as usize
3203 },
3204 1160usize,
3205 concat!(
3206 "Offset of field: ",
3207 stringify!(_mjModel),
3208 "::",
3209 stringify!(body_dofadr)
3210 )
3211 );
3212 assert_eq!(
3213 unsafe {
3214 &(*(::std::ptr::null::<_mjModel>())).body_geomnum as *const _ as usize
3215 },
3216 1168usize,
3217 concat!(
3218 "Offset of field: ",
3219 stringify!(_mjModel),
3220 "::",
3221 stringify!(body_geomnum)
3222 )
3223 );
3224 assert_eq!(
3225 unsafe {
3226 &(*(::std::ptr::null::<_mjModel>())).body_geomadr as *const _ as usize
3227 },
3228 1176usize,
3229 concat!(
3230 "Offset of field: ",
3231 stringify!(_mjModel),
3232 "::",
3233 stringify!(body_geomadr)
3234 )
3235 );
3236 assert_eq!(
3237 unsafe {
3238 &(*(::std::ptr::null::<_mjModel>())).body_simple as *const _ as usize
3239 },
3240 1184usize,
3241 concat!(
3242 "Offset of field: ",
3243 stringify!(_mjModel),
3244 "::",
3245 stringify!(body_simple)
3246 )
3247 );
3248 assert_eq!(
3249 unsafe {
3250 &(*(::std::ptr::null::<_mjModel>())).body_sameframe as *const _ as usize
3251 },
3252 1192usize,
3253 concat!(
3254 "Offset of field: ",
3255 stringify!(_mjModel),
3256 "::",
3257 stringify!(body_sameframe)
3258 )
3259 );
3260 assert_eq!(
3261 unsafe { &(*(::std::ptr::null::<_mjModel>())).body_pos as *const _ as usize },
3262 1200usize,
3263 concat!(
3264 "Offset of field: ",
3265 stringify!(_mjModel),
3266 "::",
3267 stringify!(body_pos)
3268 )
3269 );
3270 assert_eq!(
3271 unsafe { &(*(::std::ptr::null::<_mjModel>())).body_quat as *const _ as usize },
3272 1208usize,
3273 concat!(
3274 "Offset of field: ",
3275 stringify!(_mjModel),
3276 "::",
3277 stringify!(body_quat)
3278 )
3279 );
3280 assert_eq!(
3281 unsafe { &(*(::std::ptr::null::<_mjModel>())).body_ipos as *const _ as usize },
3282 1216usize,
3283 concat!(
3284 "Offset of field: ",
3285 stringify!(_mjModel),
3286 "::",
3287 stringify!(body_ipos)
3288 )
3289 );
3290 assert_eq!(
3291 unsafe { &(*(::std::ptr::null::<_mjModel>())).body_iquat as *const _ as usize },
3292 1224usize,
3293 concat!(
3294 "Offset of field: ",
3295 stringify!(_mjModel),
3296 "::",
3297 stringify!(body_iquat)
3298 )
3299 );
3300 assert_eq!(
3301 unsafe { &(*(::std::ptr::null::<_mjModel>())).body_mass as *const _ as usize },
3302 1232usize,
3303 concat!(
3304 "Offset of field: ",
3305 stringify!(_mjModel),
3306 "::",
3307 stringify!(body_mass)
3308 )
3309 );
3310 assert_eq!(
3311 unsafe {
3312 &(*(::std::ptr::null::<_mjModel>())).body_subtreemass as *const _ as usize
3313 },
3314 1240usize,
3315 concat!(
3316 "Offset of field: ",
3317 stringify!(_mjModel),
3318 "::",
3319 stringify!(body_subtreemass)
3320 )
3321 );
3322 assert_eq!(
3323 unsafe {
3324 &(*(::std::ptr::null::<_mjModel>())).body_inertia as *const _ as usize
3325 },
3326 1248usize,
3327 concat!(
3328 "Offset of field: ",
3329 stringify!(_mjModel),
3330 "::",
3331 stringify!(body_inertia)
3332 )
3333 );
3334 assert_eq!(
3335 unsafe {
3336 &(*(::std::ptr::null::<_mjModel>())).body_invweight0 as *const _ as usize
3337 },
3338 1256usize,
3339 concat!(
3340 "Offset of field: ",
3341 stringify!(_mjModel),
3342 "::",
3343 stringify!(body_invweight0)
3344 )
3345 );
3346 assert_eq!(
3347 unsafe { &(*(::std::ptr::null::<_mjModel>())).body_user as *const _ as usize },
3348 1264usize,
3349 concat!(
3350 "Offset of field: ",
3351 stringify!(_mjModel),
3352 "::",
3353 stringify!(body_user)
3354 )
3355 );
3356 assert_eq!(
3357 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_type as *const _ as usize },
3358 1272usize,
3359 concat!(
3360 "Offset of field: ",
3361 stringify!(_mjModel),
3362 "::",
3363 stringify!(jnt_type)
3364 )
3365 );
3366 assert_eq!(
3367 unsafe {
3368 &(*(::std::ptr::null::<_mjModel>())).jnt_qposadr as *const _ as usize
3369 },
3370 1280usize,
3371 concat!(
3372 "Offset of field: ",
3373 stringify!(_mjModel),
3374 "::",
3375 stringify!(jnt_qposadr)
3376 )
3377 );
3378 assert_eq!(
3379 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_dofadr as *const _ as usize },
3380 1288usize,
3381 concat!(
3382 "Offset of field: ",
3383 stringify!(_mjModel),
3384 "::",
3385 stringify!(jnt_dofadr)
3386 )
3387 );
3388 assert_eq!(
3389 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_bodyid as *const _ as usize },
3390 1296usize,
3391 concat!(
3392 "Offset of field: ",
3393 stringify!(_mjModel),
3394 "::",
3395 stringify!(jnt_bodyid)
3396 )
3397 );
3398 assert_eq!(
3399 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_group as *const _ as usize },
3400 1304usize,
3401 concat!(
3402 "Offset of field: ",
3403 stringify!(_mjModel),
3404 "::",
3405 stringify!(jnt_group)
3406 )
3407 );
3408 assert_eq!(
3409 unsafe {
3410 &(*(::std::ptr::null::<_mjModel>())).jnt_limited as *const _ as usize
3411 },
3412 1312usize,
3413 concat!(
3414 "Offset of field: ",
3415 stringify!(_mjModel),
3416 "::",
3417 stringify!(jnt_limited)
3418 )
3419 );
3420 assert_eq!(
3421 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_solref as *const _ as usize },
3422 1320usize,
3423 concat!(
3424 "Offset of field: ",
3425 stringify!(_mjModel),
3426 "::",
3427 stringify!(jnt_solref)
3428 )
3429 );
3430 assert_eq!(
3431 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_solimp as *const _ as usize },
3432 1328usize,
3433 concat!(
3434 "Offset of field: ",
3435 stringify!(_mjModel),
3436 "::",
3437 stringify!(jnt_solimp)
3438 )
3439 );
3440 assert_eq!(
3441 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_pos as *const _ as usize },
3442 1336usize,
3443 concat!(
3444 "Offset of field: ",
3445 stringify!(_mjModel),
3446 "::",
3447 stringify!(jnt_pos)
3448 )
3449 );
3450 assert_eq!(
3451 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_axis as *const _ as usize },
3452 1344usize,
3453 concat!(
3454 "Offset of field: ",
3455 stringify!(_mjModel),
3456 "::",
3457 stringify!(jnt_axis)
3458 )
3459 );
3460 assert_eq!(
3461 unsafe {
3462 &(*(::std::ptr::null::<_mjModel>())).jnt_stiffness as *const _ as usize
3463 },
3464 1352usize,
3465 concat!(
3466 "Offset of field: ",
3467 stringify!(_mjModel),
3468 "::",
3469 stringify!(jnt_stiffness)
3470 )
3471 );
3472 assert_eq!(
3473 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_range as *const _ as usize },
3474 1360usize,
3475 concat!(
3476 "Offset of field: ",
3477 stringify!(_mjModel),
3478 "::",
3479 stringify!(jnt_range)
3480 )
3481 );
3482 assert_eq!(
3483 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_margin as *const _ as usize },
3484 1368usize,
3485 concat!(
3486 "Offset of field: ",
3487 stringify!(_mjModel),
3488 "::",
3489 stringify!(jnt_margin)
3490 )
3491 );
3492 assert_eq!(
3493 unsafe { &(*(::std::ptr::null::<_mjModel>())).jnt_user as *const _ as usize },
3494 1376usize,
3495 concat!(
3496 "Offset of field: ",
3497 stringify!(_mjModel),
3498 "::",
3499 stringify!(jnt_user)
3500 )
3501 );
3502 assert_eq!(
3503 unsafe { &(*(::std::ptr::null::<_mjModel>())).dof_bodyid as *const _ as usize },
3504 1384usize,
3505 concat!(
3506 "Offset of field: ",
3507 stringify!(_mjModel),
3508 "::",
3509 stringify!(dof_bodyid)
3510 )
3511 );
3512 assert_eq!(
3513 unsafe { &(*(::std::ptr::null::<_mjModel>())).dof_jntid as *const _ as usize },
3514 1392usize,
3515 concat!(
3516 "Offset of field: ",
3517 stringify!(_mjModel),
3518 "::",
3519 stringify!(dof_jntid)
3520 )
3521 );
3522 assert_eq!(
3523 unsafe {
3524 &(*(::std::ptr::null::<_mjModel>())).dof_parentid as *const _ as usize
3525 },
3526 1400usize,
3527 concat!(
3528 "Offset of field: ",
3529 stringify!(_mjModel),
3530 "::",
3531 stringify!(dof_parentid)
3532 )
3533 );
3534 assert_eq!(
3535 unsafe { &(*(::std::ptr::null::<_mjModel>())).dof_Madr as *const _ as usize },
3536 1408usize,
3537 concat!(
3538 "Offset of field: ",
3539 stringify!(_mjModel),
3540 "::",
3541 stringify!(dof_Madr)
3542 )
3543 );
3544 assert_eq!(
3545 unsafe {
3546 &(*(::std::ptr::null::<_mjModel>())).dof_simplenum as *const _ as usize
3547 },
3548 1416usize,
3549 concat!(
3550 "Offset of field: ",
3551 stringify!(_mjModel),
3552 "::",
3553 stringify!(dof_simplenum)
3554 )
3555 );
3556 assert_eq!(
3557 unsafe { &(*(::std::ptr::null::<_mjModel>())).dof_solref as *const _ as usize },
3558 1424usize,
3559 concat!(
3560 "Offset of field: ",
3561 stringify!(_mjModel),
3562 "::",
3563 stringify!(dof_solref)
3564 )
3565 );
3566 assert_eq!(
3567 unsafe { &(*(::std::ptr::null::<_mjModel>())).dof_solimp as *const _ as usize },
3568 1432usize,
3569 concat!(
3570 "Offset of field: ",
3571 stringify!(_mjModel),
3572 "::",
3573 stringify!(dof_solimp)
3574 )
3575 );
3576 assert_eq!(
3577 unsafe {
3578 &(*(::std::ptr::null::<_mjModel>())).dof_frictionloss as *const _ as usize
3579 },
3580 1440usize,
3581 concat!(
3582 "Offset of field: ",
3583 stringify!(_mjModel),
3584 "::",
3585 stringify!(dof_frictionloss)
3586 )
3587 );
3588 assert_eq!(
3589 unsafe {
3590 &(*(::std::ptr::null::<_mjModel>())).dof_armature as *const _ as usize
3591 },
3592 1448usize,
3593 concat!(
3594 "Offset of field: ",
3595 stringify!(_mjModel),
3596 "::",
3597 stringify!(dof_armature)
3598 )
3599 );
3600 assert_eq!(
3601 unsafe {
3602 &(*(::std::ptr::null::<_mjModel>())).dof_damping as *const _ as usize
3603 },
3604 1456usize,
3605 concat!(
3606 "Offset of field: ",
3607 stringify!(_mjModel),
3608 "::",
3609 stringify!(dof_damping)
3610 )
3611 );
3612 assert_eq!(
3613 unsafe {
3614 &(*(::std::ptr::null::<_mjModel>())).dof_invweight0 as *const _ as usize
3615 },
3616 1464usize,
3617 concat!(
3618 "Offset of field: ",
3619 stringify!(_mjModel),
3620 "::",
3621 stringify!(dof_invweight0)
3622 )
3623 );
3624 assert_eq!(
3625 unsafe { &(*(::std::ptr::null::<_mjModel>())).dof_M0 as *const _ as usize },
3626 1472usize,
3627 concat!(
3628 "Offset of field: ",
3629 stringify!(_mjModel),
3630 "::",
3631 stringify!(dof_M0)
3632 )
3633 );
3634 assert_eq!(
3635 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_type as *const _ as usize },
3636 1480usize,
3637 concat!(
3638 "Offset of field: ",
3639 stringify!(_mjModel),
3640 "::",
3641 stringify!(geom_type)
3642 )
3643 );
3644 assert_eq!(
3645 unsafe {
3646 &(*(::std::ptr::null::<_mjModel>())).geom_contype as *const _ as usize
3647 },
3648 1488usize,
3649 concat!(
3650 "Offset of field: ",
3651 stringify!(_mjModel),
3652 "::",
3653 stringify!(geom_contype)
3654 )
3655 );
3656 assert_eq!(
3657 unsafe {
3658 &(*(::std::ptr::null::<_mjModel>())).geom_conaffinity as *const _ as usize
3659 },
3660 1496usize,
3661 concat!(
3662 "Offset of field: ",
3663 stringify!(_mjModel),
3664 "::",
3665 stringify!(geom_conaffinity)
3666 )
3667 );
3668 assert_eq!(
3669 unsafe {
3670 &(*(::std::ptr::null::<_mjModel>())).geom_condim as *const _ as usize
3671 },
3672 1504usize,
3673 concat!(
3674 "Offset of field: ",
3675 stringify!(_mjModel),
3676 "::",
3677 stringify!(geom_condim)
3678 )
3679 );
3680 assert_eq!(
3681 unsafe {
3682 &(*(::std::ptr::null::<_mjModel>())).geom_bodyid as *const _ as usize
3683 },
3684 1512usize,
3685 concat!(
3686 "Offset of field: ",
3687 stringify!(_mjModel),
3688 "::",
3689 stringify!(geom_bodyid)
3690 )
3691 );
3692 assert_eq!(
3693 unsafe {
3694 &(*(::std::ptr::null::<_mjModel>())).geom_dataid as *const _ as usize
3695 },
3696 1520usize,
3697 concat!(
3698 "Offset of field: ",
3699 stringify!(_mjModel),
3700 "::",
3701 stringify!(geom_dataid)
3702 )
3703 );
3704 assert_eq!(
3705 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_matid as *const _ as usize },
3706 1528usize,
3707 concat!(
3708 "Offset of field: ",
3709 stringify!(_mjModel),
3710 "::",
3711 stringify!(geom_matid)
3712 )
3713 );
3714 assert_eq!(
3715 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_group as *const _ as usize },
3716 1536usize,
3717 concat!(
3718 "Offset of field: ",
3719 stringify!(_mjModel),
3720 "::",
3721 stringify!(geom_group)
3722 )
3723 );
3724 assert_eq!(
3725 unsafe {
3726 &(*(::std::ptr::null::<_mjModel>())).geom_priority as *const _ as usize
3727 },
3728 1544usize,
3729 concat!(
3730 "Offset of field: ",
3731 stringify!(_mjModel),
3732 "::",
3733 stringify!(geom_priority)
3734 )
3735 );
3736 assert_eq!(
3737 unsafe {
3738 &(*(::std::ptr::null::<_mjModel>())).geom_sameframe as *const _ as usize
3739 },
3740 1552usize,
3741 concat!(
3742 "Offset of field: ",
3743 stringify!(_mjModel),
3744 "::",
3745 stringify!(geom_sameframe)
3746 )
3747 );
3748 assert_eq!(
3749 unsafe {
3750 &(*(::std::ptr::null::<_mjModel>())).geom_solmix as *const _ as usize
3751 },
3752 1560usize,
3753 concat!(
3754 "Offset of field: ",
3755 stringify!(_mjModel),
3756 "::",
3757 stringify!(geom_solmix)
3758 )
3759 );
3760 assert_eq!(
3761 unsafe {
3762 &(*(::std::ptr::null::<_mjModel>())).geom_solref as *const _ as usize
3763 },
3764 1568usize,
3765 concat!(
3766 "Offset of field: ",
3767 stringify!(_mjModel),
3768 "::",
3769 stringify!(geom_solref)
3770 )
3771 );
3772 assert_eq!(
3773 unsafe {
3774 &(*(::std::ptr::null::<_mjModel>())).geom_solimp as *const _ as usize
3775 },
3776 1576usize,
3777 concat!(
3778 "Offset of field: ",
3779 stringify!(_mjModel),
3780 "::",
3781 stringify!(geom_solimp)
3782 )
3783 );
3784 assert_eq!(
3785 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_size as *const _ as usize },
3786 1584usize,
3787 concat!(
3788 "Offset of field: ",
3789 stringify!(_mjModel),
3790 "::",
3791 stringify!(geom_size)
3792 )
3793 );
3794 assert_eq!(
3795 unsafe {
3796 &(*(::std::ptr::null::<_mjModel>())).geom_rbound as *const _ as usize
3797 },
3798 1592usize,
3799 concat!(
3800 "Offset of field: ",
3801 stringify!(_mjModel),
3802 "::",
3803 stringify!(geom_rbound)
3804 )
3805 );
3806 assert_eq!(
3807 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_pos as *const _ as usize },
3808 1600usize,
3809 concat!(
3810 "Offset of field: ",
3811 stringify!(_mjModel),
3812 "::",
3813 stringify!(geom_pos)
3814 )
3815 );
3816 assert_eq!(
3817 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_quat as *const _ as usize },
3818 1608usize,
3819 concat!(
3820 "Offset of field: ",
3821 stringify!(_mjModel),
3822 "::",
3823 stringify!(geom_quat)
3824 )
3825 );
3826 assert_eq!(
3827 unsafe {
3828 &(*(::std::ptr::null::<_mjModel>())).geom_friction as *const _ as usize
3829 },
3830 1616usize,
3831 concat!(
3832 "Offset of field: ",
3833 stringify!(_mjModel),
3834 "::",
3835 stringify!(geom_friction)
3836 )
3837 );
3838 assert_eq!(
3839 unsafe {
3840 &(*(::std::ptr::null::<_mjModel>())).geom_margin as *const _ as usize
3841 },
3842 1624usize,
3843 concat!(
3844 "Offset of field: ",
3845 stringify!(_mjModel),
3846 "::",
3847 stringify!(geom_margin)
3848 )
3849 );
3850 assert_eq!(
3851 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_gap as *const _ as usize },
3852 1632usize,
3853 concat!(
3854 "Offset of field: ",
3855 stringify!(_mjModel),
3856 "::",
3857 stringify!(geom_gap)
3858 )
3859 );
3860 assert_eq!(
3861 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_user as *const _ as usize },
3862 1640usize,
3863 concat!(
3864 "Offset of field: ",
3865 stringify!(_mjModel),
3866 "::",
3867 stringify!(geom_user)
3868 )
3869 );
3870 assert_eq!(
3871 unsafe { &(*(::std::ptr::null::<_mjModel>())).geom_rgba as *const _ as usize },
3872 1648usize,
3873 concat!(
3874 "Offset of field: ",
3875 stringify!(_mjModel),
3876 "::",
3877 stringify!(geom_rgba)
3878 )
3879 );
3880 assert_eq!(
3881 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_type as *const _ as usize },
3882 1656usize,
3883 concat!(
3884 "Offset of field: ",
3885 stringify!(_mjModel),
3886 "::",
3887 stringify!(site_type)
3888 )
3889 );
3890 assert_eq!(
3891 unsafe {
3892 &(*(::std::ptr::null::<_mjModel>())).site_bodyid as *const _ as usize
3893 },
3894 1664usize,
3895 concat!(
3896 "Offset of field: ",
3897 stringify!(_mjModel),
3898 "::",
3899 stringify!(site_bodyid)
3900 )
3901 );
3902 assert_eq!(
3903 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_matid as *const _ as usize },
3904 1672usize,
3905 concat!(
3906 "Offset of field: ",
3907 stringify!(_mjModel),
3908 "::",
3909 stringify!(site_matid)
3910 )
3911 );
3912 assert_eq!(
3913 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_group as *const _ as usize },
3914 1680usize,
3915 concat!(
3916 "Offset of field: ",
3917 stringify!(_mjModel),
3918 "::",
3919 stringify!(site_group)
3920 )
3921 );
3922 assert_eq!(
3923 unsafe {
3924 &(*(::std::ptr::null::<_mjModel>())).site_sameframe as *const _ as usize
3925 },
3926 1688usize,
3927 concat!(
3928 "Offset of field: ",
3929 stringify!(_mjModel),
3930 "::",
3931 stringify!(site_sameframe)
3932 )
3933 );
3934 assert_eq!(
3935 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_size as *const _ as usize },
3936 1696usize,
3937 concat!(
3938 "Offset of field: ",
3939 stringify!(_mjModel),
3940 "::",
3941 stringify!(site_size)
3942 )
3943 );
3944 assert_eq!(
3945 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_pos as *const _ as usize },
3946 1704usize,
3947 concat!(
3948 "Offset of field: ",
3949 stringify!(_mjModel),
3950 "::",
3951 stringify!(site_pos)
3952 )
3953 );
3954 assert_eq!(
3955 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_quat as *const _ as usize },
3956 1712usize,
3957 concat!(
3958 "Offset of field: ",
3959 stringify!(_mjModel),
3960 "::",
3961 stringify!(site_quat)
3962 )
3963 );
3964 assert_eq!(
3965 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_user as *const _ as usize },
3966 1720usize,
3967 concat!(
3968 "Offset of field: ",
3969 stringify!(_mjModel),
3970 "::",
3971 stringify!(site_user)
3972 )
3973 );
3974 assert_eq!(
3975 unsafe { &(*(::std::ptr::null::<_mjModel>())).site_rgba as *const _ as usize },
3976 1728usize,
3977 concat!(
3978 "Offset of field: ",
3979 stringify!(_mjModel),
3980 "::",
3981 stringify!(site_rgba)
3982 )
3983 );
3984 assert_eq!(
3985 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_mode as *const _ as usize },
3986 1736usize,
3987 concat!(
3988 "Offset of field: ",
3989 stringify!(_mjModel),
3990 "::",
3991 stringify!(cam_mode)
3992 )
3993 );
3994 assert_eq!(
3995 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_bodyid as *const _ as usize },
3996 1744usize,
3997 concat!(
3998 "Offset of field: ",
3999 stringify!(_mjModel),
4000 "::",
4001 stringify!(cam_bodyid)
4002 )
4003 );
4004 assert_eq!(
4005 unsafe {
4006 &(*(::std::ptr::null::<_mjModel>())).cam_targetbodyid as *const _ as usize
4007 },
4008 1752usize,
4009 concat!(
4010 "Offset of field: ",
4011 stringify!(_mjModel),
4012 "::",
4013 stringify!(cam_targetbodyid)
4014 )
4015 );
4016 assert_eq!(
4017 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_pos as *const _ as usize },
4018 1760usize,
4019 concat!(
4020 "Offset of field: ",
4021 stringify!(_mjModel),
4022 "::",
4023 stringify!(cam_pos)
4024 )
4025 );
4026 assert_eq!(
4027 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_quat as *const _ as usize },
4028 1768usize,
4029 concat!(
4030 "Offset of field: ",
4031 stringify!(_mjModel),
4032 "::",
4033 stringify!(cam_quat)
4034 )
4035 );
4036 assert_eq!(
4037 unsafe {
4038 &(*(::std::ptr::null::<_mjModel>())).cam_poscom0 as *const _ as usize
4039 },
4040 1776usize,
4041 concat!(
4042 "Offset of field: ",
4043 stringify!(_mjModel),
4044 "::",
4045 stringify!(cam_poscom0)
4046 )
4047 );
4048 assert_eq!(
4049 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_pos0 as *const _ as usize },
4050 1784usize,
4051 concat!(
4052 "Offset of field: ",
4053 stringify!(_mjModel),
4054 "::",
4055 stringify!(cam_pos0)
4056 )
4057 );
4058 assert_eq!(
4059 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_mat0 as *const _ as usize },
4060 1792usize,
4061 concat!(
4062 "Offset of field: ",
4063 stringify!(_mjModel),
4064 "::",
4065 stringify!(cam_mat0)
4066 )
4067 );
4068 assert_eq!(
4069 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_fovy as *const _ as usize },
4070 1800usize,
4071 concat!(
4072 "Offset of field: ",
4073 stringify!(_mjModel),
4074 "::",
4075 stringify!(cam_fovy)
4076 )
4077 );
4078 assert_eq!(
4079 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_ipd as *const _ as usize },
4080 1808usize,
4081 concat!(
4082 "Offset of field: ",
4083 stringify!(_mjModel),
4084 "::",
4085 stringify!(cam_ipd)
4086 )
4087 );
4088 assert_eq!(
4089 unsafe { &(*(::std::ptr::null::<_mjModel>())).cam_user as *const _ as usize },
4090 1816usize,
4091 concat!(
4092 "Offset of field: ",
4093 stringify!(_mjModel),
4094 "::",
4095 stringify!(cam_user)
4096 )
4097 );
4098 assert_eq!(
4099 unsafe { &(*(::std::ptr::null::<_mjModel>())).light_mode as *const _ as usize },
4100 1824usize,
4101 concat!(
4102 "Offset of field: ",
4103 stringify!(_mjModel),
4104 "::",
4105 stringify!(light_mode)
4106 )
4107 );
4108 assert_eq!(
4109 unsafe {
4110 &(*(::std::ptr::null::<_mjModel>())).light_bodyid as *const _ as usize
4111 },
4112 1832usize,
4113 concat!(
4114 "Offset of field: ",
4115 stringify!(_mjModel),
4116 "::",
4117 stringify!(light_bodyid)
4118 )
4119 );
4120 assert_eq!(
4121 unsafe {
4122 &(*(::std::ptr::null::<_mjModel>())).light_targetbodyid as *const _ as usize
4123 },
4124 1840usize,
4125 concat!(
4126 "Offset of field: ",
4127 stringify!(_mjModel),
4128 "::",
4129 stringify!(light_targetbodyid)
4130 )
4131 );
4132 assert_eq!(
4133 unsafe {
4134 &(*(::std::ptr::null::<_mjModel>())).light_directional as *const _ as usize
4135 },
4136 1848usize,
4137 concat!(
4138 "Offset of field: ",
4139 stringify!(_mjModel),
4140 "::",
4141 stringify!(light_directional)
4142 )
4143 );
4144 assert_eq!(
4145 unsafe {
4146 &(*(::std::ptr::null::<_mjModel>())).light_castshadow as *const _ as usize
4147 },
4148 1856usize,
4149 concat!(
4150 "Offset of field: ",
4151 stringify!(_mjModel),
4152 "::",
4153 stringify!(light_castshadow)
4154 )
4155 );
4156 assert_eq!(
4157 unsafe {
4158 &(*(::std::ptr::null::<_mjModel>())).light_active as *const _ as usize
4159 },
4160 1864usize,
4161 concat!(
4162 "Offset of field: ",
4163 stringify!(_mjModel),
4164 "::",
4165 stringify!(light_active)
4166 )
4167 );
4168 assert_eq!(
4169 unsafe { &(*(::std::ptr::null::<_mjModel>())).light_pos as *const _ as usize },
4170 1872usize,
4171 concat!(
4172 "Offset of field: ",
4173 stringify!(_mjModel),
4174 "::",
4175 stringify!(light_pos)
4176 )
4177 );
4178 assert_eq!(
4179 unsafe { &(*(::std::ptr::null::<_mjModel>())).light_dir as *const _ as usize },
4180 1880usize,
4181 concat!(
4182 "Offset of field: ",
4183 stringify!(_mjModel),
4184 "::",
4185 stringify!(light_dir)
4186 )
4187 );
4188 assert_eq!(
4189 unsafe {
4190 &(*(::std::ptr::null::<_mjModel>())).light_poscom0 as *const _ as usize
4191 },
4192 1888usize,
4193 concat!(
4194 "Offset of field: ",
4195 stringify!(_mjModel),
4196 "::",
4197 stringify!(light_poscom0)
4198 )
4199 );
4200 assert_eq!(
4201 unsafe { &(*(::std::ptr::null::<_mjModel>())).light_pos0 as *const _ as usize },
4202 1896usize,
4203 concat!(
4204 "Offset of field: ",
4205 stringify!(_mjModel),
4206 "::",
4207 stringify!(light_pos0)
4208 )
4209 );
4210 assert_eq!(
4211 unsafe { &(*(::std::ptr::null::<_mjModel>())).light_dir0 as *const _ as usize },
4212 1904usize,
4213 concat!(
4214 "Offset of field: ",
4215 stringify!(_mjModel),
4216 "::",
4217 stringify!(light_dir0)
4218 )
4219 );
4220 assert_eq!(
4221 unsafe {
4222 &(*(::std::ptr::null::<_mjModel>())).light_attenuation as *const _ as usize
4223 },
4224 1912usize,
4225 concat!(
4226 "Offset of field: ",
4227 stringify!(_mjModel),
4228 "::",
4229 stringify!(light_attenuation)
4230 )
4231 );
4232 assert_eq!(
4233 unsafe {
4234 &(*(::std::ptr::null::<_mjModel>())).light_cutoff as *const _ as usize
4235 },
4236 1920usize,
4237 concat!(
4238 "Offset of field: ",
4239 stringify!(_mjModel),
4240 "::",
4241 stringify!(light_cutoff)
4242 )
4243 );
4244 assert_eq!(
4245 unsafe {
4246 &(*(::std::ptr::null::<_mjModel>())).light_exponent as *const _ as usize
4247 },
4248 1928usize,
4249 concat!(
4250 "Offset of field: ",
4251 stringify!(_mjModel),
4252 "::",
4253 stringify!(light_exponent)
4254 )
4255 );
4256 assert_eq!(
4257 unsafe {
4258 &(*(::std::ptr::null::<_mjModel>())).light_ambient as *const _ as usize
4259 },
4260 1936usize,
4261 concat!(
4262 "Offset of field: ",
4263 stringify!(_mjModel),
4264 "::",
4265 stringify!(light_ambient)
4266 )
4267 );
4268 assert_eq!(
4269 unsafe {
4270 &(*(::std::ptr::null::<_mjModel>())).light_diffuse as *const _ as usize
4271 },
4272 1944usize,
4273 concat!(
4274 "Offset of field: ",
4275 stringify!(_mjModel),
4276 "::",
4277 stringify!(light_diffuse)
4278 )
4279 );
4280 assert_eq!(
4281 unsafe {
4282 &(*(::std::ptr::null::<_mjModel>())).light_specular as *const _ as usize
4283 },
4284 1952usize,
4285 concat!(
4286 "Offset of field: ",
4287 stringify!(_mjModel),
4288 "::",
4289 stringify!(light_specular)
4290 )
4291 );
4292 assert_eq!(
4293 unsafe {
4294 &(*(::std::ptr::null::<_mjModel>())).mesh_vertadr as *const _ as usize
4295 },
4296 1960usize,
4297 concat!(
4298 "Offset of field: ",
4299 stringify!(_mjModel),
4300 "::",
4301 stringify!(mesh_vertadr)
4302 )
4303 );
4304 assert_eq!(
4305 unsafe {
4306 &(*(::std::ptr::null::<_mjModel>())).mesh_vertnum as *const _ as usize
4307 },
4308 1968usize,
4309 concat!(
4310 "Offset of field: ",
4311 stringify!(_mjModel),
4312 "::",
4313 stringify!(mesh_vertnum)
4314 )
4315 );
4316 assert_eq!(
4317 unsafe {
4318 &(*(::std::ptr::null::<_mjModel>())).mesh_texcoordadr as *const _ as usize
4319 },
4320 1976usize,
4321 concat!(
4322 "Offset of field: ",
4323 stringify!(_mjModel),
4324 "::",
4325 stringify!(mesh_texcoordadr)
4326 )
4327 );
4328 assert_eq!(
4329 unsafe {
4330 &(*(::std::ptr::null::<_mjModel>())).mesh_faceadr as *const _ as usize
4331 },
4332 1984usize,
4333 concat!(
4334 "Offset of field: ",
4335 stringify!(_mjModel),
4336 "::",
4337 stringify!(mesh_faceadr)
4338 )
4339 );
4340 assert_eq!(
4341 unsafe {
4342 &(*(::std::ptr::null::<_mjModel>())).mesh_facenum as *const _ as usize
4343 },
4344 1992usize,
4345 concat!(
4346 "Offset of field: ",
4347 stringify!(_mjModel),
4348 "::",
4349 stringify!(mesh_facenum)
4350 )
4351 );
4352 assert_eq!(
4353 unsafe {
4354 &(*(::std::ptr::null::<_mjModel>())).mesh_graphadr as *const _ as usize
4355 },
4356 2000usize,
4357 concat!(
4358 "Offset of field: ",
4359 stringify!(_mjModel),
4360 "::",
4361 stringify!(mesh_graphadr)
4362 )
4363 );
4364 assert_eq!(
4365 unsafe { &(*(::std::ptr::null::<_mjModel>())).mesh_vert as *const _ as usize },
4366 2008usize,
4367 concat!(
4368 "Offset of field: ",
4369 stringify!(_mjModel),
4370 "::",
4371 stringify!(mesh_vert)
4372 )
4373 );
4374 assert_eq!(
4375 unsafe {
4376 &(*(::std::ptr::null::<_mjModel>())).mesh_normal as *const _ as usize
4377 },
4378 2016usize,
4379 concat!(
4380 "Offset of field: ",
4381 stringify!(_mjModel),
4382 "::",
4383 stringify!(mesh_normal)
4384 )
4385 );
4386 assert_eq!(
4387 unsafe {
4388 &(*(::std::ptr::null::<_mjModel>())).mesh_texcoord as *const _ as usize
4389 },
4390 2024usize,
4391 concat!(
4392 "Offset of field: ",
4393 stringify!(_mjModel),
4394 "::",
4395 stringify!(mesh_texcoord)
4396 )
4397 );
4398 assert_eq!(
4399 unsafe { &(*(::std::ptr::null::<_mjModel>())).mesh_face as *const _ as usize },
4400 2032usize,
4401 concat!(
4402 "Offset of field: ",
4403 stringify!(_mjModel),
4404 "::",
4405 stringify!(mesh_face)
4406 )
4407 );
4408 assert_eq!(
4409 unsafe { &(*(::std::ptr::null::<_mjModel>())).mesh_graph as *const _ as usize },
4410 2040usize,
4411 concat!(
4412 "Offset of field: ",
4413 stringify!(_mjModel),
4414 "::",
4415 stringify!(mesh_graph)
4416 )
4417 );
4418 assert_eq!(
4419 unsafe { &(*(::std::ptr::null::<_mjModel>())).skin_matid as *const _ as usize },
4420 2048usize,
4421 concat!(
4422 "Offset of field: ",
4423 stringify!(_mjModel),
4424 "::",
4425 stringify!(skin_matid)
4426 )
4427 );
4428 assert_eq!(
4429 unsafe { &(*(::std::ptr::null::<_mjModel>())).skin_rgba as *const _ as usize },
4430 2056usize,
4431 concat!(
4432 "Offset of field: ",
4433 stringify!(_mjModel),
4434 "::",
4435 stringify!(skin_rgba)
4436 )
4437 );
4438 assert_eq!(
4439 unsafe {
4440 &(*(::std::ptr::null::<_mjModel>())).skin_inflate as *const _ as usize
4441 },
4442 2064usize,
4443 concat!(
4444 "Offset of field: ",
4445 stringify!(_mjModel),
4446 "::",
4447 stringify!(skin_inflate)
4448 )
4449 );
4450 assert_eq!(
4451 unsafe {
4452 &(*(::std::ptr::null::<_mjModel>())).skin_vertadr as *const _ as usize
4453 },
4454 2072usize,
4455 concat!(
4456 "Offset of field: ",
4457 stringify!(_mjModel),
4458 "::",
4459 stringify!(skin_vertadr)
4460 )
4461 );
4462 assert_eq!(
4463 unsafe {
4464 &(*(::std::ptr::null::<_mjModel>())).skin_vertnum as *const _ as usize
4465 },
4466 2080usize,
4467 concat!(
4468 "Offset of field: ",
4469 stringify!(_mjModel),
4470 "::",
4471 stringify!(skin_vertnum)
4472 )
4473 );
4474 assert_eq!(
4475 unsafe {
4476 &(*(::std::ptr::null::<_mjModel>())).skin_texcoordadr as *const _ as usize
4477 },
4478 2088usize,
4479 concat!(
4480 "Offset of field: ",
4481 stringify!(_mjModel),
4482 "::",
4483 stringify!(skin_texcoordadr)
4484 )
4485 );
4486 assert_eq!(
4487 unsafe {
4488 &(*(::std::ptr::null::<_mjModel>())).skin_faceadr as *const _ as usize
4489 },
4490 2096usize,
4491 concat!(
4492 "Offset of field: ",
4493 stringify!(_mjModel),
4494 "::",
4495 stringify!(skin_faceadr)
4496 )
4497 );
4498 assert_eq!(
4499 unsafe {
4500 &(*(::std::ptr::null::<_mjModel>())).skin_facenum as *const _ as usize
4501 },
4502 2104usize,
4503 concat!(
4504 "Offset of field: ",
4505 stringify!(_mjModel),
4506 "::",
4507 stringify!(skin_facenum)
4508 )
4509 );
4510 assert_eq!(
4511 unsafe {
4512 &(*(::std::ptr::null::<_mjModel>())).skin_boneadr as *const _ as usize
4513 },
4514 2112usize,
4515 concat!(
4516 "Offset of field: ",
4517 stringify!(_mjModel),
4518 "::",
4519 stringify!(skin_boneadr)
4520 )
4521 );
4522 assert_eq!(
4523 unsafe {
4524 &(*(::std::ptr::null::<_mjModel>())).skin_bonenum as *const _ as usize
4525 },
4526 2120usize,
4527 concat!(
4528 "Offset of field: ",
4529 stringify!(_mjModel),
4530 "::",
4531 stringify!(skin_bonenum)
4532 )
4533 );
4534 assert_eq!(
4535 unsafe { &(*(::std::ptr::null::<_mjModel>())).skin_vert as *const _ as usize },
4536 2128usize,
4537 concat!(
4538 "Offset of field: ",
4539 stringify!(_mjModel),
4540 "::",
4541 stringify!(skin_vert)
4542 )
4543 );
4544 assert_eq!(
4545 unsafe {
4546 &(*(::std::ptr::null::<_mjModel>())).skin_texcoord as *const _ as usize
4547 },
4548 2136usize,
4549 concat!(
4550 "Offset of field: ",
4551 stringify!(_mjModel),
4552 "::",
4553 stringify!(skin_texcoord)
4554 )
4555 );
4556 assert_eq!(
4557 unsafe { &(*(::std::ptr::null::<_mjModel>())).skin_face as *const _ as usize },
4558 2144usize,
4559 concat!(
4560 "Offset of field: ",
4561 stringify!(_mjModel),
4562 "::",
4563 stringify!(skin_face)
4564 )
4565 );
4566 assert_eq!(
4567 unsafe {
4568 &(*(::std::ptr::null::<_mjModel>())).skin_bonevertadr as *const _ as usize
4569 },
4570 2152usize,
4571 concat!(
4572 "Offset of field: ",
4573 stringify!(_mjModel),
4574 "::",
4575 stringify!(skin_bonevertadr)
4576 )
4577 );
4578 assert_eq!(
4579 unsafe {
4580 &(*(::std::ptr::null::<_mjModel>())).skin_bonevertnum as *const _ as usize
4581 },
4582 2160usize,
4583 concat!(
4584 "Offset of field: ",
4585 stringify!(_mjModel),
4586 "::",
4587 stringify!(skin_bonevertnum)
4588 )
4589 );
4590 assert_eq!(
4591 unsafe {
4592 &(*(::std::ptr::null::<_mjModel>())).skin_bonebindpos as *const _ as usize
4593 },
4594 2168usize,
4595 concat!(
4596 "Offset of field: ",
4597 stringify!(_mjModel),
4598 "::",
4599 stringify!(skin_bonebindpos)
4600 )
4601 );
4602 assert_eq!(
4603 unsafe {
4604 &(*(::std::ptr::null::<_mjModel>())).skin_bonebindquat as *const _ as usize
4605 },
4606 2176usize,
4607 concat!(
4608 "Offset of field: ",
4609 stringify!(_mjModel),
4610 "::",
4611 stringify!(skin_bonebindquat)
4612 )
4613 );
4614 assert_eq!(
4615 unsafe {
4616 &(*(::std::ptr::null::<_mjModel>())).skin_bonebodyid as *const _ as usize
4617 },
4618 2184usize,
4619 concat!(
4620 "Offset of field: ",
4621 stringify!(_mjModel),
4622 "::",
4623 stringify!(skin_bonebodyid)
4624 )
4625 );
4626 assert_eq!(
4627 unsafe {
4628 &(*(::std::ptr::null::<_mjModel>())).skin_bonevertid as *const _ as usize
4629 },
4630 2192usize,
4631 concat!(
4632 "Offset of field: ",
4633 stringify!(_mjModel),
4634 "::",
4635 stringify!(skin_bonevertid)
4636 )
4637 );
4638 assert_eq!(
4639 unsafe {
4640 &(*(::std::ptr::null::<_mjModel>())).skin_bonevertweight as *const _
4641 as usize
4642 },
4643 2200usize,
4644 concat!(
4645 "Offset of field: ",
4646 stringify!(_mjModel),
4647 "::",
4648 stringify!(skin_bonevertweight)
4649 )
4650 );
4651 assert_eq!(
4652 unsafe {
4653 &(*(::std::ptr::null::<_mjModel>())).hfield_size as *const _ as usize
4654 },
4655 2208usize,
4656 concat!(
4657 "Offset of field: ",
4658 stringify!(_mjModel),
4659 "::",
4660 stringify!(hfield_size)
4661 )
4662 );
4663 assert_eq!(
4664 unsafe {
4665 &(*(::std::ptr::null::<_mjModel>())).hfield_nrow as *const _ as usize
4666 },
4667 2216usize,
4668 concat!(
4669 "Offset of field: ",
4670 stringify!(_mjModel),
4671 "::",
4672 stringify!(hfield_nrow)
4673 )
4674 );
4675 assert_eq!(
4676 unsafe {
4677 &(*(::std::ptr::null::<_mjModel>())).hfield_ncol as *const _ as usize
4678 },
4679 2224usize,
4680 concat!(
4681 "Offset of field: ",
4682 stringify!(_mjModel),
4683 "::",
4684 stringify!(hfield_ncol)
4685 )
4686 );
4687 assert_eq!(
4688 unsafe { &(*(::std::ptr::null::<_mjModel>())).hfield_adr as *const _ as usize },
4689 2232usize,
4690 concat!(
4691 "Offset of field: ",
4692 stringify!(_mjModel),
4693 "::",
4694 stringify!(hfield_adr)
4695 )
4696 );
4697 assert_eq!(
4698 unsafe {
4699 &(*(::std::ptr::null::<_mjModel>())).hfield_data as *const _ as usize
4700 },
4701 2240usize,
4702 concat!(
4703 "Offset of field: ",
4704 stringify!(_mjModel),
4705 "::",
4706 stringify!(hfield_data)
4707 )
4708 );
4709 assert_eq!(
4710 unsafe { &(*(::std::ptr::null::<_mjModel>())).tex_type as *const _ as usize },
4711 2248usize,
4712 concat!(
4713 "Offset of field: ",
4714 stringify!(_mjModel),
4715 "::",
4716 stringify!(tex_type)
4717 )
4718 );
4719 assert_eq!(
4720 unsafe { &(*(::std::ptr::null::<_mjModel>())).tex_height as *const _ as usize },
4721 2256usize,
4722 concat!(
4723 "Offset of field: ",
4724 stringify!(_mjModel),
4725 "::",
4726 stringify!(tex_height)
4727 )
4728 );
4729 assert_eq!(
4730 unsafe { &(*(::std::ptr::null::<_mjModel>())).tex_width as *const _ as usize },
4731 2264usize,
4732 concat!(
4733 "Offset of field: ",
4734 stringify!(_mjModel),
4735 "::",
4736 stringify!(tex_width)
4737 )
4738 );
4739 assert_eq!(
4740 unsafe { &(*(::std::ptr::null::<_mjModel>())).tex_adr as *const _ as usize },
4741 2272usize,
4742 concat!(
4743 "Offset of field: ",
4744 stringify!(_mjModel),
4745 "::",
4746 stringify!(tex_adr)
4747 )
4748 );
4749 assert_eq!(
4750 unsafe { &(*(::std::ptr::null::<_mjModel>())).tex_rgb as *const _ as usize },
4751 2280usize,
4752 concat!(
4753 "Offset of field: ",
4754 stringify!(_mjModel),
4755 "::",
4756 stringify!(tex_rgb)
4757 )
4758 );
4759 assert_eq!(
4760 unsafe { &(*(::std::ptr::null::<_mjModel>())).mat_texid as *const _ as usize },
4761 2288usize,
4762 concat!(
4763 "Offset of field: ",
4764 stringify!(_mjModel),
4765 "::",
4766 stringify!(mat_texid)
4767 )
4768 );
4769 assert_eq!(
4770 unsafe {
4771 &(*(::std::ptr::null::<_mjModel>())).mat_texuniform as *const _ as usize
4772 },
4773 2296usize,
4774 concat!(
4775 "Offset of field: ",
4776 stringify!(_mjModel),
4777 "::",
4778 stringify!(mat_texuniform)
4779 )
4780 );
4781 assert_eq!(
4782 unsafe {
4783 &(*(::std::ptr::null::<_mjModel>())).mat_texrepeat as *const _ as usize
4784 },
4785 2304usize,
4786 concat!(
4787 "Offset of field: ",
4788 stringify!(_mjModel),
4789 "::",
4790 stringify!(mat_texrepeat)
4791 )
4792 );
4793 assert_eq!(
4794 unsafe {
4795 &(*(::std::ptr::null::<_mjModel>())).mat_emission as *const _ as usize
4796 },
4797 2312usize,
4798 concat!(
4799 "Offset of field: ",
4800 stringify!(_mjModel),
4801 "::",
4802 stringify!(mat_emission)
4803 )
4804 );
4805 assert_eq!(
4806 unsafe {
4807 &(*(::std::ptr::null::<_mjModel>())).mat_specular as *const _ as usize
4808 },
4809 2320usize,
4810 concat!(
4811 "Offset of field: ",
4812 stringify!(_mjModel),
4813 "::",
4814 stringify!(mat_specular)
4815 )
4816 );
4817 assert_eq!(
4818 unsafe {
4819 &(*(::std::ptr::null::<_mjModel>())).mat_shininess as *const _ as usize
4820 },
4821 2328usize,
4822 concat!(
4823 "Offset of field: ",
4824 stringify!(_mjModel),
4825 "::",
4826 stringify!(mat_shininess)
4827 )
4828 );
4829 assert_eq!(
4830 unsafe {
4831 &(*(::std::ptr::null::<_mjModel>())).mat_reflectance as *const _ as usize
4832 },
4833 2336usize,
4834 concat!(
4835 "Offset of field: ",
4836 stringify!(_mjModel),
4837 "::",
4838 stringify!(mat_reflectance)
4839 )
4840 );
4841 assert_eq!(
4842 unsafe { &(*(::std::ptr::null::<_mjModel>())).mat_rgba as *const _ as usize },
4843 2344usize,
4844 concat!(
4845 "Offset of field: ",
4846 stringify!(_mjModel),
4847 "::",
4848 stringify!(mat_rgba)
4849 )
4850 );
4851 assert_eq!(
4852 unsafe { &(*(::std::ptr::null::<_mjModel>())).pair_dim as *const _ as usize },
4853 2352usize,
4854 concat!(
4855 "Offset of field: ",
4856 stringify!(_mjModel),
4857 "::",
4858 stringify!(pair_dim)
4859 )
4860 );
4861 assert_eq!(
4862 unsafe { &(*(::std::ptr::null::<_mjModel>())).pair_geom1 as *const _ as usize },
4863 2360usize,
4864 concat!(
4865 "Offset of field: ",
4866 stringify!(_mjModel),
4867 "::",
4868 stringify!(pair_geom1)
4869 )
4870 );
4871 assert_eq!(
4872 unsafe { &(*(::std::ptr::null::<_mjModel>())).pair_geom2 as *const _ as usize },
4873 2368usize,
4874 concat!(
4875 "Offset of field: ",
4876 stringify!(_mjModel),
4877 "::",
4878 stringify!(pair_geom2)
4879 )
4880 );
4881 assert_eq!(
4882 unsafe {
4883 &(*(::std::ptr::null::<_mjModel>())).pair_signature as *const _ as usize
4884 },
4885 2376usize,
4886 concat!(
4887 "Offset of field: ",
4888 stringify!(_mjModel),
4889 "::",
4890 stringify!(pair_signature)
4891 )
4892 );
4893 assert_eq!(
4894 unsafe {
4895 &(*(::std::ptr::null::<_mjModel>())).pair_solref as *const _ as usize
4896 },
4897 2384usize,
4898 concat!(
4899 "Offset of field: ",
4900 stringify!(_mjModel),
4901 "::",
4902 stringify!(pair_solref)
4903 )
4904 );
4905 assert_eq!(
4906 unsafe {
4907 &(*(::std::ptr::null::<_mjModel>())).pair_solimp as *const _ as usize
4908 },
4909 2392usize,
4910 concat!(
4911 "Offset of field: ",
4912 stringify!(_mjModel),
4913 "::",
4914 stringify!(pair_solimp)
4915 )
4916 );
4917 assert_eq!(
4918 unsafe {
4919 &(*(::std::ptr::null::<_mjModel>())).pair_margin as *const _ as usize
4920 },
4921 2400usize,
4922 concat!(
4923 "Offset of field: ",
4924 stringify!(_mjModel),
4925 "::",
4926 stringify!(pair_margin)
4927 )
4928 );
4929 assert_eq!(
4930 unsafe { &(*(::std::ptr::null::<_mjModel>())).pair_gap as *const _ as usize },
4931 2408usize,
4932 concat!(
4933 "Offset of field: ",
4934 stringify!(_mjModel),
4935 "::",
4936 stringify!(pair_gap)
4937 )
4938 );
4939 assert_eq!(
4940 unsafe {
4941 &(*(::std::ptr::null::<_mjModel>())).pair_friction as *const _ as usize
4942 },
4943 2416usize,
4944 concat!(
4945 "Offset of field: ",
4946 stringify!(_mjModel),
4947 "::",
4948 stringify!(pair_friction)
4949 )
4950 );
4951 assert_eq!(
4952 unsafe {
4953 &(*(::std::ptr::null::<_mjModel>())).exclude_signature as *const _ as usize
4954 },
4955 2424usize,
4956 concat!(
4957 "Offset of field: ",
4958 stringify!(_mjModel),
4959 "::",
4960 stringify!(exclude_signature)
4961 )
4962 );
4963 assert_eq!(
4964 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_type as *const _ as usize },
4965 2432usize,
4966 concat!(
4967 "Offset of field: ",
4968 stringify!(_mjModel),
4969 "::",
4970 stringify!(eq_type)
4971 )
4972 );
4973 assert_eq!(
4974 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_obj1id as *const _ as usize },
4975 2440usize,
4976 concat!(
4977 "Offset of field: ",
4978 stringify!(_mjModel),
4979 "::",
4980 stringify!(eq_obj1id)
4981 )
4982 );
4983 assert_eq!(
4984 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_obj2id as *const _ as usize },
4985 2448usize,
4986 concat!(
4987 "Offset of field: ",
4988 stringify!(_mjModel),
4989 "::",
4990 stringify!(eq_obj2id)
4991 )
4992 );
4993 assert_eq!(
4994 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_active as *const _ as usize },
4995 2456usize,
4996 concat!(
4997 "Offset of field: ",
4998 stringify!(_mjModel),
4999 "::",
5000 stringify!(eq_active)
5001 )
5002 );
5003 assert_eq!(
5004 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_solref as *const _ as usize },
5005 2464usize,
5006 concat!(
5007 "Offset of field: ",
5008 stringify!(_mjModel),
5009 "::",
5010 stringify!(eq_solref)
5011 )
5012 );
5013 assert_eq!(
5014 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_solimp as *const _ as usize },
5015 2472usize,
5016 concat!(
5017 "Offset of field: ",
5018 stringify!(_mjModel),
5019 "::",
5020 stringify!(eq_solimp)
5021 )
5022 );
5023 assert_eq!(
5024 unsafe { &(*(::std::ptr::null::<_mjModel>())).eq_data as *const _ as usize },
5025 2480usize,
5026 concat!(
5027 "Offset of field: ",
5028 stringify!(_mjModel),
5029 "::",
5030 stringify!(eq_data)
5031 )
5032 );
5033 assert_eq!(
5034 unsafe { &(*(::std::ptr::null::<_mjModel>())).tendon_adr as *const _ as usize },
5035 2488usize,
5036 concat!(
5037 "Offset of field: ",
5038 stringify!(_mjModel),
5039 "::",
5040 stringify!(tendon_adr)
5041 )
5042 );
5043 assert_eq!(
5044 unsafe { &(*(::std::ptr::null::<_mjModel>())).tendon_num as *const _ as usize },
5045 2496usize,
5046 concat!(
5047 "Offset of field: ",
5048 stringify!(_mjModel),
5049 "::",
5050 stringify!(tendon_num)
5051 )
5052 );
5053 assert_eq!(
5054 unsafe {
5055 &(*(::std::ptr::null::<_mjModel>())).tendon_matid as *const _ as usize
5056 },
5057 2504usize,
5058 concat!(
5059 "Offset of field: ",
5060 stringify!(_mjModel),
5061 "::",
5062 stringify!(tendon_matid)
5063 )
5064 );
5065 assert_eq!(
5066 unsafe {
5067 &(*(::std::ptr::null::<_mjModel>())).tendon_group as *const _ as usize
5068 },
5069 2512usize,
5070 concat!(
5071 "Offset of field: ",
5072 stringify!(_mjModel),
5073 "::",
5074 stringify!(tendon_group)
5075 )
5076 );
5077 assert_eq!(
5078 unsafe {
5079 &(*(::std::ptr::null::<_mjModel>())).tendon_limited as *const _ as usize
5080 },
5081 2520usize,
5082 concat!(
5083 "Offset of field: ",
5084 stringify!(_mjModel),
5085 "::",
5086 stringify!(tendon_limited)
5087 )
5088 );
5089 assert_eq!(
5090 unsafe {
5091 &(*(::std::ptr::null::<_mjModel>())).tendon_width as *const _ as usize
5092 },
5093 2528usize,
5094 concat!(
5095 "Offset of field: ",
5096 stringify!(_mjModel),
5097 "::",
5098 stringify!(tendon_width)
5099 )
5100 );
5101 assert_eq!(
5102 unsafe {
5103 &(*(::std::ptr::null::<_mjModel>())).tendon_solref_lim as *const _ as usize
5104 },
5105 2536usize,
5106 concat!(
5107 "Offset of field: ",
5108 stringify!(_mjModel),
5109 "::",
5110 stringify!(tendon_solref_lim)
5111 )
5112 );
5113 assert_eq!(
5114 unsafe {
5115 &(*(::std::ptr::null::<_mjModel>())).tendon_solimp_lim as *const _ as usize
5116 },
5117 2544usize,
5118 concat!(
5119 "Offset of field: ",
5120 stringify!(_mjModel),
5121 "::",
5122 stringify!(tendon_solimp_lim)
5123 )
5124 );
5125 assert_eq!(
5126 unsafe {
5127 &(*(::std::ptr::null::<_mjModel>())).tendon_solref_fri as *const _ as usize
5128 },
5129 2552usize,
5130 concat!(
5131 "Offset of field: ",
5132 stringify!(_mjModel),
5133 "::",
5134 stringify!(tendon_solref_fri)
5135 )
5136 );
5137 assert_eq!(
5138 unsafe {
5139 &(*(::std::ptr::null::<_mjModel>())).tendon_solimp_fri as *const _ as usize
5140 },
5141 2560usize,
5142 concat!(
5143 "Offset of field: ",
5144 stringify!(_mjModel),
5145 "::",
5146 stringify!(tendon_solimp_fri)
5147 )
5148 );
5149 assert_eq!(
5150 unsafe {
5151 &(*(::std::ptr::null::<_mjModel>())).tendon_range as *const _ as usize
5152 },
5153 2568usize,
5154 concat!(
5155 "Offset of field: ",
5156 stringify!(_mjModel),
5157 "::",
5158 stringify!(tendon_range)
5159 )
5160 );
5161 assert_eq!(
5162 unsafe {
5163 &(*(::std::ptr::null::<_mjModel>())).tendon_margin as *const _ as usize
5164 },
5165 2576usize,
5166 concat!(
5167 "Offset of field: ",
5168 stringify!(_mjModel),
5169 "::",
5170 stringify!(tendon_margin)
5171 )
5172 );
5173 assert_eq!(
5174 unsafe {
5175 &(*(::std::ptr::null::<_mjModel>())).tendon_stiffness as *const _ as usize
5176 },
5177 2584usize,
5178 concat!(
5179 "Offset of field: ",
5180 stringify!(_mjModel),
5181 "::",
5182 stringify!(tendon_stiffness)
5183 )
5184 );
5185 assert_eq!(
5186 unsafe {
5187 &(*(::std::ptr::null::<_mjModel>())).tendon_damping as *const _ as usize
5188 },
5189 2592usize,
5190 concat!(
5191 "Offset of field: ",
5192 stringify!(_mjModel),
5193 "::",
5194 stringify!(tendon_damping)
5195 )
5196 );
5197 assert_eq!(
5198 unsafe {
5199 &(*(::std::ptr::null::<_mjModel>())).tendon_frictionloss as *const _
5200 as usize
5201 },
5202 2600usize,
5203 concat!(
5204 "Offset of field: ",
5205 stringify!(_mjModel),
5206 "::",
5207 stringify!(tendon_frictionloss)
5208 )
5209 );
5210 assert_eq!(
5211 unsafe {
5212 &(*(::std::ptr::null::<_mjModel>())).tendon_lengthspring as *const _
5213 as usize
5214 },
5215 2608usize,
5216 concat!(
5217 "Offset of field: ",
5218 stringify!(_mjModel),
5219 "::",
5220 stringify!(tendon_lengthspring)
5221 )
5222 );
5223 assert_eq!(
5224 unsafe {
5225 &(*(::std::ptr::null::<_mjModel>())).tendon_length0 as *const _ as usize
5226 },
5227 2616usize,
5228 concat!(
5229 "Offset of field: ",
5230 stringify!(_mjModel),
5231 "::",
5232 stringify!(tendon_length0)
5233 )
5234 );
5235 assert_eq!(
5236 unsafe {
5237 &(*(::std::ptr::null::<_mjModel>())).tendon_invweight0 as *const _ as usize
5238 },
5239 2624usize,
5240 concat!(
5241 "Offset of field: ",
5242 stringify!(_mjModel),
5243 "::",
5244 stringify!(tendon_invweight0)
5245 )
5246 );
5247 assert_eq!(
5248 unsafe {
5249 &(*(::std::ptr::null::<_mjModel>())).tendon_user as *const _ as usize
5250 },
5251 2632usize,
5252 concat!(
5253 "Offset of field: ",
5254 stringify!(_mjModel),
5255 "::",
5256 stringify!(tendon_user)
5257 )
5258 );
5259 assert_eq!(
5260 unsafe {
5261 &(*(::std::ptr::null::<_mjModel>())).tendon_rgba as *const _ as usize
5262 },
5263 2640usize,
5264 concat!(
5265 "Offset of field: ",
5266 stringify!(_mjModel),
5267 "::",
5268 stringify!(tendon_rgba)
5269 )
5270 );
5271 assert_eq!(
5272 unsafe { &(*(::std::ptr::null::<_mjModel>())).wrap_type as *const _ as usize },
5273 2648usize,
5274 concat!(
5275 "Offset of field: ",
5276 stringify!(_mjModel),
5277 "::",
5278 stringify!(wrap_type)
5279 )
5280 );
5281 assert_eq!(
5282 unsafe { &(*(::std::ptr::null::<_mjModel>())).wrap_objid as *const _ as usize },
5283 2656usize,
5284 concat!(
5285 "Offset of field: ",
5286 stringify!(_mjModel),
5287 "::",
5288 stringify!(wrap_objid)
5289 )
5290 );
5291 assert_eq!(
5292 unsafe { &(*(::std::ptr::null::<_mjModel>())).wrap_prm as *const _ as usize },
5293 2664usize,
5294 concat!(
5295 "Offset of field: ",
5296 stringify!(_mjModel),
5297 "::",
5298 stringify!(wrap_prm)
5299 )
5300 );
5301 assert_eq!(
5302 unsafe {
5303 &(*(::std::ptr::null::<_mjModel>())).actuator_trntype as *const _ as usize
5304 },
5305 2672usize,
5306 concat!(
5307 "Offset of field: ",
5308 stringify!(_mjModel),
5309 "::",
5310 stringify!(actuator_trntype)
5311 )
5312 );
5313 assert_eq!(
5314 unsafe {
5315 &(*(::std::ptr::null::<_mjModel>())).actuator_dyntype as *const _ as usize
5316 },
5317 2680usize,
5318 concat!(
5319 "Offset of field: ",
5320 stringify!(_mjModel),
5321 "::",
5322 stringify!(actuator_dyntype)
5323 )
5324 );
5325 assert_eq!(
5326 unsafe {
5327 &(*(::std::ptr::null::<_mjModel>())).actuator_gaintype as *const _ as usize
5328 },
5329 2688usize,
5330 concat!(
5331 "Offset of field: ",
5332 stringify!(_mjModel),
5333 "::",
5334 stringify!(actuator_gaintype)
5335 )
5336 );
5337 assert_eq!(
5338 unsafe {
5339 &(*(::std::ptr::null::<_mjModel>())).actuator_biastype as *const _ as usize
5340 },
5341 2696usize,
5342 concat!(
5343 "Offset of field: ",
5344 stringify!(_mjModel),
5345 "::",
5346 stringify!(actuator_biastype)
5347 )
5348 );
5349 assert_eq!(
5350 unsafe {
5351 &(*(::std::ptr::null::<_mjModel>())).actuator_trnid as *const _ as usize
5352 },
5353 2704usize,
5354 concat!(
5355 "Offset of field: ",
5356 stringify!(_mjModel),
5357 "::",
5358 stringify!(actuator_trnid)
5359 )
5360 );
5361 assert_eq!(
5362 unsafe {
5363 &(*(::std::ptr::null::<_mjModel>())).actuator_group as *const _ as usize
5364 },
5365 2712usize,
5366 concat!(
5367 "Offset of field: ",
5368 stringify!(_mjModel),
5369 "::",
5370 stringify!(actuator_group)
5371 )
5372 );
5373 assert_eq!(
5374 unsafe {
5375 &(*(::std::ptr::null::<_mjModel>())).actuator_ctrllimited as *const _
5376 as usize
5377 },
5378 2720usize,
5379 concat!(
5380 "Offset of field: ",
5381 stringify!(_mjModel),
5382 "::",
5383 stringify!(actuator_ctrllimited)
5384 )
5385 );
5386 assert_eq!(
5387 unsafe {
5388 &(*(::std::ptr::null::<_mjModel>())).actuator_forcelimited as *const _
5389 as usize
5390 },
5391 2728usize,
5392 concat!(
5393 "Offset of field: ",
5394 stringify!(_mjModel),
5395 "::",
5396 stringify!(actuator_forcelimited)
5397 )
5398 );
5399 assert_eq!(
5400 unsafe {
5401 &(*(::std::ptr::null::<_mjModel>())).actuator_dynprm as *const _ as usize
5402 },
5403 2736usize,
5404 concat!(
5405 "Offset of field: ",
5406 stringify!(_mjModel),
5407 "::",
5408 stringify!(actuator_dynprm)
5409 )
5410 );
5411 assert_eq!(
5412 unsafe {
5413 &(*(::std::ptr::null::<_mjModel>())).actuator_gainprm as *const _ as usize
5414 },
5415 2744usize,
5416 concat!(
5417 "Offset of field: ",
5418 stringify!(_mjModel),
5419 "::",
5420 stringify!(actuator_gainprm)
5421 )
5422 );
5423 assert_eq!(
5424 unsafe {
5425 &(*(::std::ptr::null::<_mjModel>())).actuator_biasprm as *const _ as usize
5426 },
5427 2752usize,
5428 concat!(
5429 "Offset of field: ",
5430 stringify!(_mjModel),
5431 "::",
5432 stringify!(actuator_biasprm)
5433 )
5434 );
5435 assert_eq!(
5436 unsafe {
5437 &(*(::std::ptr::null::<_mjModel>())).actuator_ctrlrange as *const _ as usize
5438 },
5439 2760usize,
5440 concat!(
5441 "Offset of field: ",
5442 stringify!(_mjModel),
5443 "::",
5444 stringify!(actuator_ctrlrange)
5445 )
5446 );
5447 assert_eq!(
5448 unsafe {
5449 &(*(::std::ptr::null::<_mjModel>())).actuator_forcerange as *const _
5450 as usize
5451 },
5452 2768usize,
5453 concat!(
5454 "Offset of field: ",
5455 stringify!(_mjModel),
5456 "::",
5457 stringify!(actuator_forcerange)
5458 )
5459 );
5460 assert_eq!(
5461 unsafe {
5462 &(*(::std::ptr::null::<_mjModel>())).actuator_gear as *const _ as usize
5463 },
5464 2776usize,
5465 concat!(
5466 "Offset of field: ",
5467 stringify!(_mjModel),
5468 "::",
5469 stringify!(actuator_gear)
5470 )
5471 );
5472 assert_eq!(
5473 unsafe {
5474 &(*(::std::ptr::null::<_mjModel>())).actuator_cranklength as *const _
5475 as usize
5476 },
5477 2784usize,
5478 concat!(
5479 "Offset of field: ",
5480 stringify!(_mjModel),
5481 "::",
5482 stringify!(actuator_cranklength)
5483 )
5484 );
5485 assert_eq!(
5486 unsafe {
5487 &(*(::std::ptr::null::<_mjModel>())).actuator_acc0 as *const _ as usize
5488 },
5489 2792usize,
5490 concat!(
5491 "Offset of field: ",
5492 stringify!(_mjModel),
5493 "::",
5494 stringify!(actuator_acc0)
5495 )
5496 );
5497 assert_eq!(
5498 unsafe {
5499 &(*(::std::ptr::null::<_mjModel>())).actuator_length0 as *const _ as usize
5500 },
5501 2800usize,
5502 concat!(
5503 "Offset of field: ",
5504 stringify!(_mjModel),
5505 "::",
5506 stringify!(actuator_length0)
5507 )
5508 );
5509 assert_eq!(
5510 unsafe {
5511 &(*(::std::ptr::null::<_mjModel>())).actuator_lengthrange as *const _
5512 as usize
5513 },
5514 2808usize,
5515 concat!(
5516 "Offset of field: ",
5517 stringify!(_mjModel),
5518 "::",
5519 stringify!(actuator_lengthrange)
5520 )
5521 );
5522 assert_eq!(
5523 unsafe {
5524 &(*(::std::ptr::null::<_mjModel>())).actuator_user as *const _ as usize
5525 },
5526 2816usize,
5527 concat!(
5528 "Offset of field: ",
5529 stringify!(_mjModel),
5530 "::",
5531 stringify!(actuator_user)
5532 )
5533 );
5534 assert_eq!(
5535 unsafe {
5536 &(*(::std::ptr::null::<_mjModel>())).sensor_type as *const _ as usize
5537 },
5538 2824usize,
5539 concat!(
5540 "Offset of field: ",
5541 stringify!(_mjModel),
5542 "::",
5543 stringify!(sensor_type)
5544 )
5545 );
5546 assert_eq!(
5547 unsafe {
5548 &(*(::std::ptr::null::<_mjModel>())).sensor_datatype as *const _ as usize
5549 },
5550 2832usize,
5551 concat!(
5552 "Offset of field: ",
5553 stringify!(_mjModel),
5554 "::",
5555 stringify!(sensor_datatype)
5556 )
5557 );
5558 assert_eq!(
5559 unsafe {
5560 &(*(::std::ptr::null::<_mjModel>())).sensor_needstage as *const _ as usize
5561 },
5562 2840usize,
5563 concat!(
5564 "Offset of field: ",
5565 stringify!(_mjModel),
5566 "::",
5567 stringify!(sensor_needstage)
5568 )
5569 );
5570 assert_eq!(
5571 unsafe {
5572 &(*(::std::ptr::null::<_mjModel>())).sensor_objtype as *const _ as usize
5573 },
5574 2848usize,
5575 concat!(
5576 "Offset of field: ",
5577 stringify!(_mjModel),
5578 "::",
5579 stringify!(sensor_objtype)
5580 )
5581 );
5582 assert_eq!(
5583 unsafe {
5584 &(*(::std::ptr::null::<_mjModel>())).sensor_objid as *const _ as usize
5585 },
5586 2856usize,
5587 concat!(
5588 "Offset of field: ",
5589 stringify!(_mjModel),
5590 "::",
5591 stringify!(sensor_objid)
5592 )
5593 );
5594 assert_eq!(
5595 unsafe { &(*(::std::ptr::null::<_mjModel>())).sensor_dim as *const _ as usize },
5596 2864usize,
5597 concat!(
5598 "Offset of field: ",
5599 stringify!(_mjModel),
5600 "::",
5601 stringify!(sensor_dim)
5602 )
5603 );
5604 assert_eq!(
5605 unsafe { &(*(::std::ptr::null::<_mjModel>())).sensor_adr as *const _ as usize },
5606 2872usize,
5607 concat!(
5608 "Offset of field: ",
5609 stringify!(_mjModel),
5610 "::",
5611 stringify!(sensor_adr)
5612 )
5613 );
5614 assert_eq!(
5615 unsafe {
5616 &(*(::std::ptr::null::<_mjModel>())).sensor_cutoff as *const _ as usize
5617 },
5618 2880usize,
5619 concat!(
5620 "Offset of field: ",
5621 stringify!(_mjModel),
5622 "::",
5623 stringify!(sensor_cutoff)
5624 )
5625 );
5626 assert_eq!(
5627 unsafe {
5628 &(*(::std::ptr::null::<_mjModel>())).sensor_noise as *const _ as usize
5629 },
5630 2888usize,
5631 concat!(
5632 "Offset of field: ",
5633 stringify!(_mjModel),
5634 "::",
5635 stringify!(sensor_noise)
5636 )
5637 );
5638 assert_eq!(
5639 unsafe {
5640 &(*(::std::ptr::null::<_mjModel>())).sensor_user as *const _ as usize
5641 },
5642 2896usize,
5643 concat!(
5644 "Offset of field: ",
5645 stringify!(_mjModel),
5646 "::",
5647 stringify!(sensor_user)
5648 )
5649 );
5650 assert_eq!(
5651 unsafe {
5652 &(*(::std::ptr::null::<_mjModel>())).numeric_adr as *const _ as usize
5653 },
5654 2904usize,
5655 concat!(
5656 "Offset of field: ",
5657 stringify!(_mjModel),
5658 "::",
5659 stringify!(numeric_adr)
5660 )
5661 );
5662 assert_eq!(
5663 unsafe {
5664 &(*(::std::ptr::null::<_mjModel>())).numeric_size as *const _ as usize
5665 },
5666 2912usize,
5667 concat!(
5668 "Offset of field: ",
5669 stringify!(_mjModel),
5670 "::",
5671 stringify!(numeric_size)
5672 )
5673 );
5674 assert_eq!(
5675 unsafe {
5676 &(*(::std::ptr::null::<_mjModel>())).numeric_data as *const _ as usize
5677 },
5678 2920usize,
5679 concat!(
5680 "Offset of field: ",
5681 stringify!(_mjModel),
5682 "::",
5683 stringify!(numeric_data)
5684 )
5685 );
5686 assert_eq!(
5687 unsafe { &(*(::std::ptr::null::<_mjModel>())).text_adr as *const _ as usize },
5688 2928usize,
5689 concat!(
5690 "Offset of field: ",
5691 stringify!(_mjModel),
5692 "::",
5693 stringify!(text_adr)
5694 )
5695 );
5696 assert_eq!(
5697 unsafe { &(*(::std::ptr::null::<_mjModel>())).text_size as *const _ as usize },
5698 2936usize,
5699 concat!(
5700 "Offset of field: ",
5701 stringify!(_mjModel),
5702 "::",
5703 stringify!(text_size)
5704 )
5705 );
5706 assert_eq!(
5707 unsafe { &(*(::std::ptr::null::<_mjModel>())).text_data as *const _ as usize },
5708 2944usize,
5709 concat!(
5710 "Offset of field: ",
5711 stringify!(_mjModel),
5712 "::",
5713 stringify!(text_data)
5714 )
5715 );
5716 assert_eq!(
5717 unsafe { &(*(::std::ptr::null::<_mjModel>())).tuple_adr as *const _ as usize },
5718 2952usize,
5719 concat!(
5720 "Offset of field: ",
5721 stringify!(_mjModel),
5722 "::",
5723 stringify!(tuple_adr)
5724 )
5725 );
5726 assert_eq!(
5727 unsafe { &(*(::std::ptr::null::<_mjModel>())).tuple_size as *const _ as usize },
5728 2960usize,
5729 concat!(
5730 "Offset of field: ",
5731 stringify!(_mjModel),
5732 "::",
5733 stringify!(tuple_size)
5734 )
5735 );
5736 assert_eq!(
5737 unsafe {
5738 &(*(::std::ptr::null::<_mjModel>())).tuple_objtype as *const _ as usize
5739 },
5740 2968usize,
5741 concat!(
5742 "Offset of field: ",
5743 stringify!(_mjModel),
5744 "::",
5745 stringify!(tuple_objtype)
5746 )
5747 );
5748 assert_eq!(
5749 unsafe {
5750 &(*(::std::ptr::null::<_mjModel>())).tuple_objid as *const _ as usize
5751 },
5752 2976usize,
5753 concat!(
5754 "Offset of field: ",
5755 stringify!(_mjModel),
5756 "::",
5757 stringify!(tuple_objid)
5758 )
5759 );
5760 assert_eq!(
5761 unsafe {
5762 &(*(::std::ptr::null::<_mjModel>())).tuple_objprm as *const _ as usize
5763 },
5764 2984usize,
5765 concat!(
5766 "Offset of field: ",
5767 stringify!(_mjModel),
5768 "::",
5769 stringify!(tuple_objprm)
5770 )
5771 );
5772 assert_eq!(
5773 unsafe { &(*(::std::ptr::null::<_mjModel>())).key_time as *const _ as usize },
5774 2992usize,
5775 concat!(
5776 "Offset of field: ",
5777 stringify!(_mjModel),
5778 "::",
5779 stringify!(key_time)
5780 )
5781 );
5782 assert_eq!(
5783 unsafe { &(*(::std::ptr::null::<_mjModel>())).key_qpos as *const _ as usize },
5784 3000usize,
5785 concat!(
5786 "Offset of field: ",
5787 stringify!(_mjModel),
5788 "::",
5789 stringify!(key_qpos)
5790 )
5791 );
5792 assert_eq!(
5793 unsafe { &(*(::std::ptr::null::<_mjModel>())).key_qvel as *const _ as usize },
5794 3008usize,
5795 concat!(
5796 "Offset of field: ",
5797 stringify!(_mjModel),
5798 "::",
5799 stringify!(key_qvel)
5800 )
5801 );
5802 assert_eq!(
5803 unsafe { &(*(::std::ptr::null::<_mjModel>())).key_act as *const _ as usize },
5804 3016usize,
5805 concat!(
5806 "Offset of field: ",
5807 stringify!(_mjModel),
5808 "::",
5809 stringify!(key_act)
5810 )
5811 );
5812 assert_eq!(
5813 unsafe {
5814 &(*(::std::ptr::null::<_mjModel>())).name_bodyadr as *const _ as usize
5815 },
5816 3024usize,
5817 concat!(
5818 "Offset of field: ",
5819 stringify!(_mjModel),
5820 "::",
5821 stringify!(name_bodyadr)
5822 )
5823 );
5824 assert_eq!(
5825 unsafe {
5826 &(*(::std::ptr::null::<_mjModel>())).name_jntadr as *const _ as usize
5827 },
5828 3032usize,
5829 concat!(
5830 "Offset of field: ",
5831 stringify!(_mjModel),
5832 "::",
5833 stringify!(name_jntadr)
5834 )
5835 );
5836 assert_eq!(
5837 unsafe {
5838 &(*(::std::ptr::null::<_mjModel>())).name_geomadr as *const _ as usize
5839 },
5840 3040usize,
5841 concat!(
5842 "Offset of field: ",
5843 stringify!(_mjModel),
5844 "::",
5845 stringify!(name_geomadr)
5846 )
5847 );
5848 assert_eq!(
5849 unsafe {
5850 &(*(::std::ptr::null::<_mjModel>())).name_siteadr as *const _ as usize
5851 },
5852 3048usize,
5853 concat!(
5854 "Offset of field: ",
5855 stringify!(_mjModel),
5856 "::",
5857 stringify!(name_siteadr)
5858 )
5859 );
5860 assert_eq!(
5861 unsafe {
5862 &(*(::std::ptr::null::<_mjModel>())).name_camadr as *const _ as usize
5863 },
5864 3056usize,
5865 concat!(
5866 "Offset of field: ",
5867 stringify!(_mjModel),
5868 "::",
5869 stringify!(name_camadr)
5870 )
5871 );
5872 assert_eq!(
5873 unsafe {
5874 &(*(::std::ptr::null::<_mjModel>())).name_lightadr as *const _ as usize
5875 },
5876 3064usize,
5877 concat!(
5878 "Offset of field: ",
5879 stringify!(_mjModel),
5880 "::",
5881 stringify!(name_lightadr)
5882 )
5883 );
5884 assert_eq!(
5885 unsafe {
5886 &(*(::std::ptr::null::<_mjModel>())).name_meshadr as *const _ as usize
5887 },
5888 3072usize,
5889 concat!(
5890 "Offset of field: ",
5891 stringify!(_mjModel),
5892 "::",
5893 stringify!(name_meshadr)
5894 )
5895 );
5896 assert_eq!(
5897 unsafe {
5898 &(*(::std::ptr::null::<_mjModel>())).name_skinadr as *const _ as usize
5899 },
5900 3080usize,
5901 concat!(
5902 "Offset of field: ",
5903 stringify!(_mjModel),
5904 "::",
5905 stringify!(name_skinadr)
5906 )
5907 );
5908 assert_eq!(
5909 unsafe {
5910 &(*(::std::ptr::null::<_mjModel>())).name_hfieldadr as *const _ as usize
5911 },
5912 3088usize,
5913 concat!(
5914 "Offset of field: ",
5915 stringify!(_mjModel),
5916 "::",
5917 stringify!(name_hfieldadr)
5918 )
5919 );
5920 assert_eq!(
5921 unsafe {
5922 &(*(::std::ptr::null::<_mjModel>())).name_texadr as *const _ as usize
5923 },
5924 3096usize,
5925 concat!(
5926 "Offset of field: ",
5927 stringify!(_mjModel),
5928 "::",
5929 stringify!(name_texadr)
5930 )
5931 );
5932 assert_eq!(
5933 unsafe {
5934 &(*(::std::ptr::null::<_mjModel>())).name_matadr as *const _ as usize
5935 },
5936 3104usize,
5937 concat!(
5938 "Offset of field: ",
5939 stringify!(_mjModel),
5940 "::",
5941 stringify!(name_matadr)
5942 )
5943 );
5944 assert_eq!(
5945 unsafe {
5946 &(*(::std::ptr::null::<_mjModel>())).name_pairadr as *const _ as usize
5947 },
5948 3112usize,
5949 concat!(
5950 "Offset of field: ",
5951 stringify!(_mjModel),
5952 "::",
5953 stringify!(name_pairadr)
5954 )
5955 );
5956 assert_eq!(
5957 unsafe {
5958 &(*(::std::ptr::null::<_mjModel>())).name_excludeadr as *const _ as usize
5959 },
5960 3120usize,
5961 concat!(
5962 "Offset of field: ",
5963 stringify!(_mjModel),
5964 "::",
5965 stringify!(name_excludeadr)
5966 )
5967 );
5968 assert_eq!(
5969 unsafe { &(*(::std::ptr::null::<_mjModel>())).name_eqadr as *const _ as usize },
5970 3128usize,
5971 concat!(
5972 "Offset of field: ",
5973 stringify!(_mjModel),
5974 "::",
5975 stringify!(name_eqadr)
5976 )
5977 );
5978 assert_eq!(
5979 unsafe {
5980 &(*(::std::ptr::null::<_mjModel>())).name_tendonadr as *const _ as usize
5981 },
5982 3136usize,
5983 concat!(
5984 "Offset of field: ",
5985 stringify!(_mjModel),
5986 "::",
5987 stringify!(name_tendonadr)
5988 )
5989 );
5990 assert_eq!(
5991 unsafe {
5992 &(*(::std::ptr::null::<_mjModel>())).name_actuatoradr as *const _ as usize
5993 },
5994 3144usize,
5995 concat!(
5996 "Offset of field: ",
5997 stringify!(_mjModel),
5998 "::",
5999 stringify!(name_actuatoradr)
6000 )
6001 );
6002 assert_eq!(
6003 unsafe {
6004 &(*(::std::ptr::null::<_mjModel>())).name_sensoradr as *const _ as usize
6005 },
6006 3152usize,
6007 concat!(
6008 "Offset of field: ",
6009 stringify!(_mjModel),
6010 "::",
6011 stringify!(name_sensoradr)
6012 )
6013 );
6014 assert_eq!(
6015 unsafe {
6016 &(*(::std::ptr::null::<_mjModel>())).name_numericadr as *const _ as usize
6017 },
6018 3160usize,
6019 concat!(
6020 "Offset of field: ",
6021 stringify!(_mjModel),
6022 "::",
6023 stringify!(name_numericadr)
6024 )
6025 );
6026 assert_eq!(
6027 unsafe {
6028 &(*(::std::ptr::null::<_mjModel>())).name_textadr as *const _ as usize
6029 },
6030 3168usize,
6031 concat!(
6032 "Offset of field: ",
6033 stringify!(_mjModel),
6034 "::",
6035 stringify!(name_textadr)
6036 )
6037 );
6038 assert_eq!(
6039 unsafe {
6040 &(*(::std::ptr::null::<_mjModel>())).name_tupleadr as *const _ as usize
6041 },
6042 3176usize,
6043 concat!(
6044 "Offset of field: ",
6045 stringify!(_mjModel),
6046 "::",
6047 stringify!(name_tupleadr)
6048 )
6049 );
6050 assert_eq!(
6051 unsafe {
6052 &(*(::std::ptr::null::<_mjModel>())).name_keyadr as *const _ as usize
6053 },
6054 3184usize,
6055 concat!(
6056 "Offset of field: ",
6057 stringify!(_mjModel),
6058 "::",
6059 stringify!(name_keyadr)
6060 )
6061 );
6062 assert_eq!(
6063 unsafe { &(*(::std::ptr::null::<_mjModel>())).names as *const _ as usize },
6064 3192usize,
6065 concat!(
6066 "Offset of field: ",
6067 stringify!(_mjModel),
6068 "::",
6069 stringify!(names)
6070 )
6071 );
6072}
6073impl Default for _mjModel {
6074 fn default() -> Self {
6075 unsafe { ::std::mem::zeroed() }
6076 }
6077}
6078pub type mjModel = _mjModel;
6079#[repr(u32)]
6080#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
6081pub enum _mjtWarning {
6082 INERTIA = 0,
6083 CONTACTFULL = 1,
6084 CNSTRFULL = 2,
6085 VGEOMFULL = 3,
6086 BADQPOS = 4,
6087 BADQVEL = 5,
6088 BADQACC = 6,
6089 BADCTRL = 7,
6090 mjNWARNING = 8,
6091}
6092pub use self::_mjtWarning as mjtWarning;
6093#[repr(u32)]
6094#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
6095pub enum _mjtTimer {
6096 STEP = 0,
6097 FORWARD = 1,
6098 INVERSE = 2,
6099 POSITION = 3,
6100 VELOCITY = 4,
6101 ACTUATION = 5,
6102 ACCELERATION = 6,
6103 CONSTRAINT = 7,
6104 POS_KINEMATICS = 8,
6105 POS_INERTIA = 9,
6106 POS_COLLISION = 10,
6107 POS_MAKE = 11,
6108 POS_PROJECT = 12,
6109 mjNTIMER = 13,
6110}
6111pub use self::_mjtTimer as mjtTimer;
6112#[repr(C)]
6113#[derive(Copy, Clone)]
6114pub struct _mjContact {
6115 pub dist: mjtNum,
6116 pub pos: [mjtNum; 3usize],
6117 pub frame: [mjtNum; 9usize],
6118 pub includemargin: mjtNum,
6119 pub friction: [mjtNum; 5usize],
6120 pub solref: [mjtNum; 2usize],
6121 pub solimp: [mjtNum; 5usize],
6122 pub mu: mjtNum,
6123 pub H: [mjtNum; 36usize],
6124 pub dim: ::std::os::raw::c_int,
6125 pub geom1: ::std::os::raw::c_int,
6126 pub geom2: ::std::os::raw::c_int,
6127 pub exclude: ::std::os::raw::c_int,
6128 pub efc_address: ::std::os::raw::c_int,
6129}
6130#[test]
6131fn bindgen_test_layout__mjContact() {
6132 assert_eq!(
6133 ::std::mem::size_of::<_mjContact>(),
6134 528usize,
6135 concat!("Size of: ", stringify!(_mjContact))
6136 );
6137 assert_eq!(
6138 ::std::mem::align_of::<_mjContact>(),
6139 8usize,
6140 concat!("Alignment of ", stringify!(_mjContact))
6141 );
6142 assert_eq!(
6143 unsafe { &(*(::std::ptr::null::<_mjContact>())).dist as *const _ as usize },
6144 0usize,
6145 concat!(
6146 "Offset of field: ",
6147 stringify!(_mjContact),
6148 "::",
6149 stringify!(dist)
6150 )
6151 );
6152 assert_eq!(
6153 unsafe { &(*(::std::ptr::null::<_mjContact>())).pos as *const _ as usize },
6154 8usize,
6155 concat!(
6156 "Offset of field: ",
6157 stringify!(_mjContact),
6158 "::",
6159 stringify!(pos)
6160 )
6161 );
6162 assert_eq!(
6163 unsafe { &(*(::std::ptr::null::<_mjContact>())).frame as *const _ as usize },
6164 32usize,
6165 concat!(
6166 "Offset of field: ",
6167 stringify!(_mjContact),
6168 "::",
6169 stringify!(frame)
6170 )
6171 );
6172 assert_eq!(
6173 unsafe {
6174 &(*(::std::ptr::null::<_mjContact>())).includemargin as *const _ as usize
6175 },
6176 104usize,
6177 concat!(
6178 "Offset of field: ",
6179 stringify!(_mjContact),
6180 "::",
6181 stringify!(includemargin)
6182 )
6183 );
6184 assert_eq!(
6185 unsafe { &(*(::std::ptr::null::<_mjContact>())).friction as *const _ as usize },
6186 112usize,
6187 concat!(
6188 "Offset of field: ",
6189 stringify!(_mjContact),
6190 "::",
6191 stringify!(friction)
6192 )
6193 );
6194 assert_eq!(
6195 unsafe { &(*(::std::ptr::null::<_mjContact>())).solref as *const _ as usize },
6196 152usize,
6197 concat!(
6198 "Offset of field: ",
6199 stringify!(_mjContact),
6200 "::",
6201 stringify!(solref)
6202 )
6203 );
6204 assert_eq!(
6205 unsafe { &(*(::std::ptr::null::<_mjContact>())).solimp as *const _ as usize },
6206 168usize,
6207 concat!(
6208 "Offset of field: ",
6209 stringify!(_mjContact),
6210 "::",
6211 stringify!(solimp)
6212 )
6213 );
6214 assert_eq!(
6215 unsafe { &(*(::std::ptr::null::<_mjContact>())).mu as *const _ as usize },
6216 208usize,
6217 concat!(
6218 "Offset of field: ",
6219 stringify!(_mjContact),
6220 "::",
6221 stringify!(mu)
6222 )
6223 );
6224 assert_eq!(
6225 unsafe { &(*(::std::ptr::null::<_mjContact>())).H as *const _ as usize },
6226 216usize,
6227 concat!(
6228 "Offset of field: ",
6229 stringify!(_mjContact),
6230 "::",
6231 stringify!(H)
6232 )
6233 );
6234 assert_eq!(
6235 unsafe { &(*(::std::ptr::null::<_mjContact>())).dim as *const _ as usize },
6236 504usize,
6237 concat!(
6238 "Offset of field: ",
6239 stringify!(_mjContact),
6240 "::",
6241 stringify!(dim)
6242 )
6243 );
6244 assert_eq!(
6245 unsafe { &(*(::std::ptr::null::<_mjContact>())).geom1 as *const _ as usize },
6246 508usize,
6247 concat!(
6248 "Offset of field: ",
6249 stringify!(_mjContact),
6250 "::",
6251 stringify!(geom1)
6252 )
6253 );
6254 assert_eq!(
6255 unsafe { &(*(::std::ptr::null::<_mjContact>())).geom2 as *const _ as usize },
6256 512usize,
6257 concat!(
6258 "Offset of field: ",
6259 stringify!(_mjContact),
6260 "::",
6261 stringify!(geom2)
6262 )
6263 );
6264 assert_eq!(
6265 unsafe { &(*(::std::ptr::null::<_mjContact>())).exclude as *const _ as usize },
6266 516usize,
6267 concat!(
6268 "Offset of field: ",
6269 stringify!(_mjContact),
6270 "::",
6271 stringify!(exclude)
6272 )
6273 );
6274 assert_eq!(
6275 unsafe {
6276 &(*(::std::ptr::null::<_mjContact>())).efc_address as *const _ as usize
6277 },
6278 520usize,
6279 concat!(
6280 "Offset of field: ",
6281 stringify!(_mjContact),
6282 "::",
6283 stringify!(efc_address)
6284 )
6285 );
6286}
6287impl Default for _mjContact {
6288 fn default() -> Self {
6289 unsafe { ::std::mem::zeroed() }
6290 }
6291}
6292pub type mjContact = _mjContact;
6293#[repr(C)]
6294#[derive(Debug, Default, Copy, Clone)]
6295pub struct _mjWarningStat {
6296 pub lastinfo: ::std::os::raw::c_int,
6297 pub number: ::std::os::raw::c_int,
6298}
6299#[test]
6300fn bindgen_test_layout__mjWarningStat() {
6301 assert_eq!(
6302 ::std::mem::size_of::<_mjWarningStat>(),
6303 8usize,
6304 concat!("Size of: ", stringify!(_mjWarningStat))
6305 );
6306 assert_eq!(
6307 ::std::mem::align_of::<_mjWarningStat>(),
6308 4usize,
6309 concat!("Alignment of ", stringify!(_mjWarningStat))
6310 );
6311 assert_eq!(
6312 unsafe {
6313 &(*(::std::ptr::null::<_mjWarningStat>())).lastinfo as *const _ as usize
6314 },
6315 0usize,
6316 concat!(
6317 "Offset of field: ",
6318 stringify!(_mjWarningStat),
6319 "::",
6320 stringify!(lastinfo)
6321 )
6322 );
6323 assert_eq!(
6324 unsafe {
6325 &(*(::std::ptr::null::<_mjWarningStat>())).number as *const _ as usize
6326 },
6327 4usize,
6328 concat!(
6329 "Offset of field: ",
6330 stringify!(_mjWarningStat),
6331 "::",
6332 stringify!(number)
6333 )
6334 );
6335}
6336pub type mjWarningStat = _mjWarningStat;
6337#[repr(C)]
6338#[derive(Debug, Default, Copy, Clone)]
6339pub struct _mjTimerStat {
6340 pub duration: mjtNum,
6341 pub number: ::std::os::raw::c_int,
6342}
6343#[test]
6344fn bindgen_test_layout__mjTimerStat() {
6345 assert_eq!(
6346 ::std::mem::size_of::<_mjTimerStat>(),
6347 16usize,
6348 concat!("Size of: ", stringify!(_mjTimerStat))
6349 );
6350 assert_eq!(
6351 ::std::mem::align_of::<_mjTimerStat>(),
6352 8usize,
6353 concat!("Alignment of ", stringify!(_mjTimerStat))
6354 );
6355 assert_eq!(
6356 unsafe {
6357 &(*(::std::ptr::null::<_mjTimerStat>())).duration as *const _ as usize
6358 },
6359 0usize,
6360 concat!(
6361 "Offset of field: ",
6362 stringify!(_mjTimerStat),
6363 "::",
6364 stringify!(duration)
6365 )
6366 );
6367 assert_eq!(
6368 unsafe { &(*(::std::ptr::null::<_mjTimerStat>())).number as *const _ as usize },
6369 8usize,
6370 concat!(
6371 "Offset of field: ",
6372 stringify!(_mjTimerStat),
6373 "::",
6374 stringify!(number)
6375 )
6376 );
6377}
6378pub type mjTimerStat = _mjTimerStat;
6379#[repr(C)]
6380#[derive(Debug, Default, Copy, Clone)]
6381pub struct _mjSolverStat {
6382 pub improvement: mjtNum,
6383 pub gradient: mjtNum,
6384 pub lineslope: mjtNum,
6385 pub nactive: ::std::os::raw::c_int,
6386 pub nchange: ::std::os::raw::c_int,
6387 pub neval: ::std::os::raw::c_int,
6388 pub nupdate: ::std::os::raw::c_int,
6389}
6390#[test]
6391fn bindgen_test_layout__mjSolverStat() {
6392 assert_eq!(
6393 ::std::mem::size_of::<_mjSolverStat>(),
6394 40usize,
6395 concat!("Size of: ", stringify!(_mjSolverStat))
6396 );
6397 assert_eq!(
6398 ::std::mem::align_of::<_mjSolverStat>(),
6399 8usize,
6400 concat!("Alignment of ", stringify!(_mjSolverStat))
6401 );
6402 assert_eq!(
6403 unsafe {
6404 &(*(::std::ptr::null::<_mjSolverStat>())).improvement as *const _ as usize
6405 },
6406 0usize,
6407 concat!(
6408 "Offset of field: ",
6409 stringify!(_mjSolverStat),
6410 "::",
6411 stringify!(improvement)
6412 )
6413 );
6414 assert_eq!(
6415 unsafe {
6416 &(*(::std::ptr::null::<_mjSolverStat>())).gradient as *const _ as usize
6417 },
6418 8usize,
6419 concat!(
6420 "Offset of field: ",
6421 stringify!(_mjSolverStat),
6422 "::",
6423 stringify!(gradient)
6424 )
6425 );
6426 assert_eq!(
6427 unsafe {
6428 &(*(::std::ptr::null::<_mjSolverStat>())).lineslope as *const _ as usize
6429 },
6430 16usize,
6431 concat!(
6432 "Offset of field: ",
6433 stringify!(_mjSolverStat),
6434 "::",
6435 stringify!(lineslope)
6436 )
6437 );
6438 assert_eq!(
6439 unsafe {
6440 &(*(::std::ptr::null::<_mjSolverStat>())).nactive as *const _ as usize
6441 },
6442 24usize,
6443 concat!(
6444 "Offset of field: ",
6445 stringify!(_mjSolverStat),
6446 "::",
6447 stringify!(nactive)
6448 )
6449 );
6450 assert_eq!(
6451 unsafe {
6452 &(*(::std::ptr::null::<_mjSolverStat>())).nchange as *const _ as usize
6453 },
6454 28usize,
6455 concat!(
6456 "Offset of field: ",
6457 stringify!(_mjSolverStat),
6458 "::",
6459 stringify!(nchange)
6460 )
6461 );
6462 assert_eq!(
6463 unsafe { &(*(::std::ptr::null::<_mjSolverStat>())).neval as *const _ as usize },
6464 32usize,
6465 concat!(
6466 "Offset of field: ",
6467 stringify!(_mjSolverStat),
6468 "::",
6469 stringify!(neval)
6470 )
6471 );
6472 assert_eq!(
6473 unsafe {
6474 &(*(::std::ptr::null::<_mjSolverStat>())).nupdate as *const _ as usize
6475 },
6476 36usize,
6477 concat!(
6478 "Offset of field: ",
6479 stringify!(_mjSolverStat),
6480 "::",
6481 stringify!(nupdate)
6482 )
6483 );
6484}
6485pub type mjSolverStat = _mjSolverStat;
6486#[repr(C)]
6487#[derive(Copy, Clone)]
6488pub struct _mjData {
6489 pub nstack: ::std::os::raw::c_int,
6490 pub nbuffer: ::std::os::raw::c_int,
6491 pub pstack: ::std::os::raw::c_int,
6492 pub maxuse_stack: ::std::os::raw::c_int,
6493 pub maxuse_con: ::std::os::raw::c_int,
6494 pub maxuse_efc: ::std::os::raw::c_int,
6495 pub warning: [mjWarningStat; 8usize],
6496 pub timer: [mjTimerStat; 13usize],
6497 pub solver: [mjSolverStat; 1000usize],
6498 pub solver_iter: ::std::os::raw::c_int,
6499 pub solver_nnz: ::std::os::raw::c_int,
6500 pub solver_fwdinv: [mjtNum; 2usize],
6501 pub ne: ::std::os::raw::c_int,
6502 pub nf: ::std::os::raw::c_int,
6503 pub nefc: ::std::os::raw::c_int,
6504 pub ncon: ::std::os::raw::c_int,
6505 pub time: mjtNum,
6506 pub energy: [mjtNum; 2usize],
6507 pub buffer: *mut ::std::os::raw::c_void,
6508 pub stack: *mut mjtNum,
6509 pub qpos: *mut mjtNum,
6510 pub qvel: *mut mjtNum,
6511 pub act: *mut mjtNum,
6512 pub qacc_warmstart: *mut mjtNum,
6513 pub ctrl: *mut mjtNum,
6514 pub qfrc_applied: *mut mjtNum,
6515 pub xfrc_applied: *mut mjtNum,
6516 pub qacc: *mut mjtNum,
6517 pub act_dot: *mut mjtNum,
6518 pub mocap_pos: *mut mjtNum,
6519 pub mocap_quat: *mut mjtNum,
6520 pub userdata: *mut mjtNum,
6521 pub sensordata: *mut mjtNum,
6522 pub xpos: *mut mjtNum,
6523 pub xquat: *mut mjtNum,
6524 pub xmat: *mut mjtNum,
6525 pub xipos: *mut mjtNum,
6526 pub ximat: *mut mjtNum,
6527 pub xanchor: *mut mjtNum,
6528 pub xaxis: *mut mjtNum,
6529 pub geom_xpos: *mut mjtNum,
6530 pub geom_xmat: *mut mjtNum,
6531 pub site_xpos: *mut mjtNum,
6532 pub site_xmat: *mut mjtNum,
6533 pub cam_xpos: *mut mjtNum,
6534 pub cam_xmat: *mut mjtNum,
6535 pub light_xpos: *mut mjtNum,
6536 pub light_xdir: *mut mjtNum,
6537 pub subtree_com: *mut mjtNum,
6538 pub cdof: *mut mjtNum,
6539 pub cinert: *mut mjtNum,
6540 pub ten_wrapadr: *mut ::std::os::raw::c_int,
6541 pub ten_wrapnum: *mut ::std::os::raw::c_int,
6542 pub ten_J_rownnz: *mut ::std::os::raw::c_int,
6543 pub ten_J_rowadr: *mut ::std::os::raw::c_int,
6544 pub ten_J_colind: *mut ::std::os::raw::c_int,
6545 pub ten_length: *mut mjtNum,
6546 pub ten_J: *mut mjtNum,
6547 pub wrap_obj: *mut ::std::os::raw::c_int,
6548 pub wrap_xpos: *mut mjtNum,
6549 pub actuator_length: *mut mjtNum,
6550 pub actuator_moment: *mut mjtNum,
6551 pub crb: *mut mjtNum,
6552 pub qM: *mut mjtNum,
6553 pub qLD: *mut mjtNum,
6554 pub qLDiagInv: *mut mjtNum,
6555 pub qLDiagSqrtInv: *mut mjtNum,
6556 pub contact: *mut mjContact,
6557 pub efc_type: *mut ::std::os::raw::c_int,
6558 pub efc_id: *mut ::std::os::raw::c_int,
6559 pub efc_J_rownnz: *mut ::std::os::raw::c_int,
6560 pub efc_J_rowadr: *mut ::std::os::raw::c_int,
6561 pub efc_J_rowsuper: *mut ::std::os::raw::c_int,
6562 pub efc_J_colind: *mut ::std::os::raw::c_int,
6563 pub efc_JT_rownnz: *mut ::std::os::raw::c_int,
6564 pub efc_JT_rowadr: *mut ::std::os::raw::c_int,
6565 pub efc_JT_rowsuper: *mut ::std::os::raw::c_int,
6566 pub efc_JT_colind: *mut ::std::os::raw::c_int,
6567 pub efc_J: *mut mjtNum,
6568 pub efc_JT: *mut mjtNum,
6569 pub efc_pos: *mut mjtNum,
6570 pub efc_margin: *mut mjtNum,
6571 pub efc_frictionloss: *mut mjtNum,
6572 pub efc_diagApprox: *mut mjtNum,
6573 pub efc_KBIP: *mut mjtNum,
6574 pub efc_D: *mut mjtNum,
6575 pub efc_R: *mut mjtNum,
6576 pub efc_AR_rownnz: *mut ::std::os::raw::c_int,
6577 pub efc_AR_rowadr: *mut ::std::os::raw::c_int,
6578 pub efc_AR_colind: *mut ::std::os::raw::c_int,
6579 pub efc_AR: *mut mjtNum,
6580 pub ten_velocity: *mut mjtNum,
6581 pub actuator_velocity: *mut mjtNum,
6582 pub cvel: *mut mjtNum,
6583 pub cdof_dot: *mut mjtNum,
6584 pub qfrc_bias: *mut mjtNum,
6585 pub qfrc_passive: *mut mjtNum,
6586 pub efc_vel: *mut mjtNum,
6587 pub efc_aref: *mut mjtNum,
6588 pub subtree_linvel: *mut mjtNum,
6589 pub subtree_angmom: *mut mjtNum,
6590 pub actuator_force: *mut mjtNum,
6591 pub qfrc_actuator: *mut mjtNum,
6592 pub qfrc_unc: *mut mjtNum,
6593 pub qacc_unc: *mut mjtNum,
6594 pub efc_b: *mut mjtNum,
6595 pub efc_force: *mut mjtNum,
6596 pub efc_state: *mut ::std::os::raw::c_int,
6597 pub qfrc_constraint: *mut mjtNum,
6598 pub qfrc_inverse: *mut mjtNum,
6599 pub cacc: *mut mjtNum,
6600 pub cfrc_int: *mut mjtNum,
6601 pub cfrc_ext: *mut mjtNum,
6602}
6603#[test]
6604fn bindgen_test_layout__mjData() {
6605 assert_eq!(
6606 ::std::mem::size_of::<_mjData>(),
6607 41120usize,
6608 concat!("Size of: ", stringify!(_mjData))
6609 );
6610 assert_eq!(
6611 ::std::mem::align_of::<_mjData>(),
6612 8usize,
6613 concat!("Alignment of ", stringify!(_mjData))
6614 );
6615 assert_eq!(
6616 unsafe { &(*(::std::ptr::null::<_mjData>())).nstack as *const _ as usize },
6617 0usize,
6618 concat!(
6619 "Offset of field: ",
6620 stringify!(_mjData),
6621 "::",
6622 stringify!(nstack)
6623 )
6624 );
6625 assert_eq!(
6626 unsafe { &(*(::std::ptr::null::<_mjData>())).nbuffer as *const _ as usize },
6627 4usize,
6628 concat!(
6629 "Offset of field: ",
6630 stringify!(_mjData),
6631 "::",
6632 stringify!(nbuffer)
6633 )
6634 );
6635 assert_eq!(
6636 unsafe { &(*(::std::ptr::null::<_mjData>())).pstack as *const _ as usize },
6637 8usize,
6638 concat!(
6639 "Offset of field: ",
6640 stringify!(_mjData),
6641 "::",
6642 stringify!(pstack)
6643 )
6644 );
6645 assert_eq!(
6646 unsafe {
6647 &(*(::std::ptr::null::<_mjData>())).maxuse_stack as *const _ as usize
6648 },
6649 12usize,
6650 concat!(
6651 "Offset of field: ",
6652 stringify!(_mjData),
6653 "::",
6654 stringify!(maxuse_stack)
6655 )
6656 );
6657 assert_eq!(
6658 unsafe { &(*(::std::ptr::null::<_mjData>())).maxuse_con as *const _ as usize },
6659 16usize,
6660 concat!(
6661 "Offset of field: ",
6662 stringify!(_mjData),
6663 "::",
6664 stringify!(maxuse_con)
6665 )
6666 );
6667 assert_eq!(
6668 unsafe { &(*(::std::ptr::null::<_mjData>())).maxuse_efc as *const _ as usize },
6669 20usize,
6670 concat!(
6671 "Offset of field: ",
6672 stringify!(_mjData),
6673 "::",
6674 stringify!(maxuse_efc)
6675 )
6676 );
6677 assert_eq!(
6678 unsafe { &(*(::std::ptr::null::<_mjData>())).warning as *const _ as usize },
6679 24usize,
6680 concat!(
6681 "Offset of field: ",
6682 stringify!(_mjData),
6683 "::",
6684 stringify!(warning)
6685 )
6686 );
6687 assert_eq!(
6688 unsafe { &(*(::std::ptr::null::<_mjData>())).timer as *const _ as usize },
6689 88usize,
6690 concat!(
6691 "Offset of field: ",
6692 stringify!(_mjData),
6693 "::",
6694 stringify!(timer)
6695 )
6696 );
6697 assert_eq!(
6698 unsafe { &(*(::std::ptr::null::<_mjData>())).solver as *const _ as usize },
6699 296usize,
6700 concat!(
6701 "Offset of field: ",
6702 stringify!(_mjData),
6703 "::",
6704 stringify!(solver)
6705 )
6706 );
6707 assert_eq!(
6708 unsafe { &(*(::std::ptr::null::<_mjData>())).solver_iter as *const _ as usize },
6709 40296usize,
6710 concat!(
6711 "Offset of field: ",
6712 stringify!(_mjData),
6713 "::",
6714 stringify!(solver_iter)
6715 )
6716 );
6717 assert_eq!(
6718 unsafe { &(*(::std::ptr::null::<_mjData>())).solver_nnz as *const _ as usize },
6719 40300usize,
6720 concat!(
6721 "Offset of field: ",
6722 stringify!(_mjData),
6723 "::",
6724 stringify!(solver_nnz)
6725 )
6726 );
6727 assert_eq!(
6728 unsafe {
6729 &(*(::std::ptr::null::<_mjData>())).solver_fwdinv as *const _ as usize
6730 },
6731 40304usize,
6732 concat!(
6733 "Offset of field: ",
6734 stringify!(_mjData),
6735 "::",
6736 stringify!(solver_fwdinv)
6737 )
6738 );
6739 assert_eq!(
6740 unsafe { &(*(::std::ptr::null::<_mjData>())).ne as *const _ as usize },
6741 40320usize,
6742 concat!(
6743 "Offset of field: ",
6744 stringify!(_mjData),
6745 "::",
6746 stringify!(ne)
6747 )
6748 );
6749 assert_eq!(
6750 unsafe { &(*(::std::ptr::null::<_mjData>())).nf as *const _ as usize },
6751 40324usize,
6752 concat!(
6753 "Offset of field: ",
6754 stringify!(_mjData),
6755 "::",
6756 stringify!(nf)
6757 )
6758 );
6759 assert_eq!(
6760 unsafe { &(*(::std::ptr::null::<_mjData>())).nefc as *const _ as usize },
6761 40328usize,
6762 concat!(
6763 "Offset of field: ",
6764 stringify!(_mjData),
6765 "::",
6766 stringify!(nefc)
6767 )
6768 );
6769 assert_eq!(
6770 unsafe { &(*(::std::ptr::null::<_mjData>())).ncon as *const _ as usize },
6771 40332usize,
6772 concat!(
6773 "Offset of field: ",
6774 stringify!(_mjData),
6775 "::",
6776 stringify!(ncon)
6777 )
6778 );
6779 assert_eq!(
6780 unsafe { &(*(::std::ptr::null::<_mjData>())).time as *const _ as usize },
6781 40336usize,
6782 concat!(
6783 "Offset of field: ",
6784 stringify!(_mjData),
6785 "::",
6786 stringify!(time)
6787 )
6788 );
6789 assert_eq!(
6790 unsafe { &(*(::std::ptr::null::<_mjData>())).energy as *const _ as usize },
6791 40344usize,
6792 concat!(
6793 "Offset of field: ",
6794 stringify!(_mjData),
6795 "::",
6796 stringify!(energy)
6797 )
6798 );
6799 assert_eq!(
6800 unsafe { &(*(::std::ptr::null::<_mjData>())).buffer as *const _ as usize },
6801 40360usize,
6802 concat!(
6803 "Offset of field: ",
6804 stringify!(_mjData),
6805 "::",
6806 stringify!(buffer)
6807 )
6808 );
6809 assert_eq!(
6810 unsafe { &(*(::std::ptr::null::<_mjData>())).stack as *const _ as usize },
6811 40368usize,
6812 concat!(
6813 "Offset of field: ",
6814 stringify!(_mjData),
6815 "::",
6816 stringify!(stack)
6817 )
6818 );
6819 assert_eq!(
6820 unsafe { &(*(::std::ptr::null::<_mjData>())).qpos as *const _ as usize },
6821 40376usize,
6822 concat!(
6823 "Offset of field: ",
6824 stringify!(_mjData),
6825 "::",
6826 stringify!(qpos)
6827 )
6828 );
6829 assert_eq!(
6830 unsafe { &(*(::std::ptr::null::<_mjData>())).qvel as *const _ as usize },
6831 40384usize,
6832 concat!(
6833 "Offset of field: ",
6834 stringify!(_mjData),
6835 "::",
6836 stringify!(qvel)
6837 )
6838 );
6839 assert_eq!(
6840 unsafe { &(*(::std::ptr::null::<_mjData>())).act as *const _ as usize },
6841 40392usize,
6842 concat!(
6843 "Offset of field: ",
6844 stringify!(_mjData),
6845 "::",
6846 stringify!(act)
6847 )
6848 );
6849 assert_eq!(
6850 unsafe {
6851 &(*(::std::ptr::null::<_mjData>())).qacc_warmstart as *const _ as usize
6852 },
6853 40400usize,
6854 concat!(
6855 "Offset of field: ",
6856 stringify!(_mjData),
6857 "::",
6858 stringify!(qacc_warmstart)
6859 )
6860 );
6861 assert_eq!(
6862 unsafe { &(*(::std::ptr::null::<_mjData>())).ctrl as *const _ as usize },
6863 40408usize,
6864 concat!(
6865 "Offset of field: ",
6866 stringify!(_mjData),
6867 "::",
6868 stringify!(ctrl)
6869 )
6870 );
6871 assert_eq!(
6872 unsafe {
6873 &(*(::std::ptr::null::<_mjData>())).qfrc_applied as *const _ as usize
6874 },
6875 40416usize,
6876 concat!(
6877 "Offset of field: ",
6878 stringify!(_mjData),
6879 "::",
6880 stringify!(qfrc_applied)
6881 )
6882 );
6883 assert_eq!(
6884 unsafe {
6885 &(*(::std::ptr::null::<_mjData>())).xfrc_applied as *const _ as usize
6886 },
6887 40424usize,
6888 concat!(
6889 "Offset of field: ",
6890 stringify!(_mjData),
6891 "::",
6892 stringify!(xfrc_applied)
6893 )
6894 );
6895 assert_eq!(
6896 unsafe { &(*(::std::ptr::null::<_mjData>())).qacc as *const _ as usize },
6897 40432usize,
6898 concat!(
6899 "Offset of field: ",
6900 stringify!(_mjData),
6901 "::",
6902 stringify!(qacc)
6903 )
6904 );
6905 assert_eq!(
6906 unsafe { &(*(::std::ptr::null::<_mjData>())).act_dot as *const _ as usize },
6907 40440usize,
6908 concat!(
6909 "Offset of field: ",
6910 stringify!(_mjData),
6911 "::",
6912 stringify!(act_dot)
6913 )
6914 );
6915 assert_eq!(
6916 unsafe { &(*(::std::ptr::null::<_mjData>())).mocap_pos as *const _ as usize },
6917 40448usize,
6918 concat!(
6919 "Offset of field: ",
6920 stringify!(_mjData),
6921 "::",
6922 stringify!(mocap_pos)
6923 )
6924 );
6925 assert_eq!(
6926 unsafe { &(*(::std::ptr::null::<_mjData>())).mocap_quat as *const _ as usize },
6927 40456usize,
6928 concat!(
6929 "Offset of field: ",
6930 stringify!(_mjData),
6931 "::",
6932 stringify!(mocap_quat)
6933 )
6934 );
6935 assert_eq!(
6936 unsafe { &(*(::std::ptr::null::<_mjData>())).userdata as *const _ as usize },
6937 40464usize,
6938 concat!(
6939 "Offset of field: ",
6940 stringify!(_mjData),
6941 "::",
6942 stringify!(userdata)
6943 )
6944 );
6945 assert_eq!(
6946 unsafe { &(*(::std::ptr::null::<_mjData>())).sensordata as *const _ as usize },
6947 40472usize,
6948 concat!(
6949 "Offset of field: ",
6950 stringify!(_mjData),
6951 "::",
6952 stringify!(sensordata)
6953 )
6954 );
6955 assert_eq!(
6956 unsafe { &(*(::std::ptr::null::<_mjData>())).xpos as *const _ as usize },
6957 40480usize,
6958 concat!(
6959 "Offset of field: ",
6960 stringify!(_mjData),
6961 "::",
6962 stringify!(xpos)
6963 )
6964 );
6965 assert_eq!(
6966 unsafe { &(*(::std::ptr::null::<_mjData>())).xquat as *const _ as usize },
6967 40488usize,
6968 concat!(
6969 "Offset of field: ",
6970 stringify!(_mjData),
6971 "::",
6972 stringify!(xquat)
6973 )
6974 );
6975 assert_eq!(
6976 unsafe { &(*(::std::ptr::null::<_mjData>())).xmat as *const _ as usize },
6977 40496usize,
6978 concat!(
6979 "Offset of field: ",
6980 stringify!(_mjData),
6981 "::",
6982 stringify!(xmat)
6983 )
6984 );
6985 assert_eq!(
6986 unsafe { &(*(::std::ptr::null::<_mjData>())).xipos as *const _ as usize },
6987 40504usize,
6988 concat!(
6989 "Offset of field: ",
6990 stringify!(_mjData),
6991 "::",
6992 stringify!(xipos)
6993 )
6994 );
6995 assert_eq!(
6996 unsafe { &(*(::std::ptr::null::<_mjData>())).ximat as *const _ as usize },
6997 40512usize,
6998 concat!(
6999 "Offset of field: ",
7000 stringify!(_mjData),
7001 "::",
7002 stringify!(ximat)
7003 )
7004 );
7005 assert_eq!(
7006 unsafe { &(*(::std::ptr::null::<_mjData>())).xanchor as *const _ as usize },
7007 40520usize,
7008 concat!(
7009 "Offset of field: ",
7010 stringify!(_mjData),
7011 "::",
7012 stringify!(xanchor)
7013 )
7014 );
7015 assert_eq!(
7016 unsafe { &(*(::std::ptr::null::<_mjData>())).xaxis as *const _ as usize },
7017 40528usize,
7018 concat!(
7019 "Offset of field: ",
7020 stringify!(_mjData),
7021 "::",
7022 stringify!(xaxis)
7023 )
7024 );
7025 assert_eq!(
7026 unsafe { &(*(::std::ptr::null::<_mjData>())).geom_xpos as *const _ as usize },
7027 40536usize,
7028 concat!(
7029 "Offset of field: ",
7030 stringify!(_mjData),
7031 "::",
7032 stringify!(geom_xpos)
7033 )
7034 );
7035 assert_eq!(
7036 unsafe { &(*(::std::ptr::null::<_mjData>())).geom_xmat as *const _ as usize },
7037 40544usize,
7038 concat!(
7039 "Offset of field: ",
7040 stringify!(_mjData),
7041 "::",
7042 stringify!(geom_xmat)
7043 )
7044 );
7045 assert_eq!(
7046 unsafe { &(*(::std::ptr::null::<_mjData>())).site_xpos as *const _ as usize },
7047 40552usize,
7048 concat!(
7049 "Offset of field: ",
7050 stringify!(_mjData),
7051 "::",
7052 stringify!(site_xpos)
7053 )
7054 );
7055 assert_eq!(
7056 unsafe { &(*(::std::ptr::null::<_mjData>())).site_xmat as *const _ as usize },
7057 40560usize,
7058 concat!(
7059 "Offset of field: ",
7060 stringify!(_mjData),
7061 "::",
7062 stringify!(site_xmat)
7063 )
7064 );
7065 assert_eq!(
7066 unsafe { &(*(::std::ptr::null::<_mjData>())).cam_xpos as *const _ as usize },
7067 40568usize,
7068 concat!(
7069 "Offset of field: ",
7070 stringify!(_mjData),
7071 "::",
7072 stringify!(cam_xpos)
7073 )
7074 );
7075 assert_eq!(
7076 unsafe { &(*(::std::ptr::null::<_mjData>())).cam_xmat as *const _ as usize },
7077 40576usize,
7078 concat!(
7079 "Offset of field: ",
7080 stringify!(_mjData),
7081 "::",
7082 stringify!(cam_xmat)
7083 )
7084 );
7085 assert_eq!(
7086 unsafe { &(*(::std::ptr::null::<_mjData>())).light_xpos as *const _ as usize },
7087 40584usize,
7088 concat!(
7089 "Offset of field: ",
7090 stringify!(_mjData),
7091 "::",
7092 stringify!(light_xpos)
7093 )
7094 );
7095 assert_eq!(
7096 unsafe { &(*(::std::ptr::null::<_mjData>())).light_xdir as *const _ as usize },
7097 40592usize,
7098 concat!(
7099 "Offset of field: ",
7100 stringify!(_mjData),
7101 "::",
7102 stringify!(light_xdir)
7103 )
7104 );
7105 assert_eq!(
7106 unsafe { &(*(::std::ptr::null::<_mjData>())).subtree_com as *const _ as usize },
7107 40600usize,
7108 concat!(
7109 "Offset of field: ",
7110 stringify!(_mjData),
7111 "::",
7112 stringify!(subtree_com)
7113 )
7114 );
7115 assert_eq!(
7116 unsafe { &(*(::std::ptr::null::<_mjData>())).cdof as *const _ as usize },
7117 40608usize,
7118 concat!(
7119 "Offset of field: ",
7120 stringify!(_mjData),
7121 "::",
7122 stringify!(cdof)
7123 )
7124 );
7125 assert_eq!(
7126 unsafe { &(*(::std::ptr::null::<_mjData>())).cinert as *const _ as usize },
7127 40616usize,
7128 concat!(
7129 "Offset of field: ",
7130 stringify!(_mjData),
7131 "::",
7132 stringify!(cinert)
7133 )
7134 );
7135 assert_eq!(
7136 unsafe { &(*(::std::ptr::null::<_mjData>())).ten_wrapadr as *const _ as usize },
7137 40624usize,
7138 concat!(
7139 "Offset of field: ",
7140 stringify!(_mjData),
7141 "::",
7142 stringify!(ten_wrapadr)
7143 )
7144 );
7145 assert_eq!(
7146 unsafe { &(*(::std::ptr::null::<_mjData>())).ten_wrapnum as *const _ as usize },
7147 40632usize,
7148 concat!(
7149 "Offset of field: ",
7150 stringify!(_mjData),
7151 "::",
7152 stringify!(ten_wrapnum)
7153 )
7154 );
7155 assert_eq!(
7156 unsafe {
7157 &(*(::std::ptr::null::<_mjData>())).ten_J_rownnz as *const _ as usize
7158 },
7159 40640usize,
7160 concat!(
7161 "Offset of field: ",
7162 stringify!(_mjData),
7163 "::",
7164 stringify!(ten_J_rownnz)
7165 )
7166 );
7167 assert_eq!(
7168 unsafe {
7169 &(*(::std::ptr::null::<_mjData>())).ten_J_rowadr as *const _ as usize
7170 },
7171 40648usize,
7172 concat!(
7173 "Offset of field: ",
7174 stringify!(_mjData),
7175 "::",
7176 stringify!(ten_J_rowadr)
7177 )
7178 );
7179 assert_eq!(
7180 unsafe {
7181 &(*(::std::ptr::null::<_mjData>())).ten_J_colind as *const _ as usize
7182 },
7183 40656usize,
7184 concat!(
7185 "Offset of field: ",
7186 stringify!(_mjData),
7187 "::",
7188 stringify!(ten_J_colind)
7189 )
7190 );
7191 assert_eq!(
7192 unsafe { &(*(::std::ptr::null::<_mjData>())).ten_length as *const _ as usize },
7193 40664usize,
7194 concat!(
7195 "Offset of field: ",
7196 stringify!(_mjData),
7197 "::",
7198 stringify!(ten_length)
7199 )
7200 );
7201 assert_eq!(
7202 unsafe { &(*(::std::ptr::null::<_mjData>())).ten_J as *const _ as usize },
7203 40672usize,
7204 concat!(
7205 "Offset of field: ",
7206 stringify!(_mjData),
7207 "::",
7208 stringify!(ten_J)
7209 )
7210 );
7211 assert_eq!(
7212 unsafe { &(*(::std::ptr::null::<_mjData>())).wrap_obj as *const _ as usize },
7213 40680usize,
7214 concat!(
7215 "Offset of field: ",
7216 stringify!(_mjData),
7217 "::",
7218 stringify!(wrap_obj)
7219 )
7220 );
7221 assert_eq!(
7222 unsafe { &(*(::std::ptr::null::<_mjData>())).wrap_xpos as *const _ as usize },
7223 40688usize,
7224 concat!(
7225 "Offset of field: ",
7226 stringify!(_mjData),
7227 "::",
7228 stringify!(wrap_xpos)
7229 )
7230 );
7231 assert_eq!(
7232 unsafe {
7233 &(*(::std::ptr::null::<_mjData>())).actuator_length as *const _ as usize
7234 },
7235 40696usize,
7236 concat!(
7237 "Offset of field: ",
7238 stringify!(_mjData),
7239 "::",
7240 stringify!(actuator_length)
7241 )
7242 );
7243 assert_eq!(
7244 unsafe {
7245 &(*(::std::ptr::null::<_mjData>())).actuator_moment as *const _ as usize
7246 },
7247 40704usize,
7248 concat!(
7249 "Offset of field: ",
7250 stringify!(_mjData),
7251 "::",
7252 stringify!(actuator_moment)
7253 )
7254 );
7255 assert_eq!(
7256 unsafe { &(*(::std::ptr::null::<_mjData>())).crb as *const _ as usize },
7257 40712usize,
7258 concat!(
7259 "Offset of field: ",
7260 stringify!(_mjData),
7261 "::",
7262 stringify!(crb)
7263 )
7264 );
7265 assert_eq!(
7266 unsafe { &(*(::std::ptr::null::<_mjData>())).qM as *const _ as usize },
7267 40720usize,
7268 concat!(
7269 "Offset of field: ",
7270 stringify!(_mjData),
7271 "::",
7272 stringify!(qM)
7273 )
7274 );
7275 assert_eq!(
7276 unsafe { &(*(::std::ptr::null::<_mjData>())).qLD as *const _ as usize },
7277 40728usize,
7278 concat!(
7279 "Offset of field: ",
7280 stringify!(_mjData),
7281 "::",
7282 stringify!(qLD)
7283 )
7284 );
7285 assert_eq!(
7286 unsafe { &(*(::std::ptr::null::<_mjData>())).qLDiagInv as *const _ as usize },
7287 40736usize,
7288 concat!(
7289 "Offset of field: ",
7290 stringify!(_mjData),
7291 "::",
7292 stringify!(qLDiagInv)
7293 )
7294 );
7295 assert_eq!(
7296 unsafe {
7297 &(*(::std::ptr::null::<_mjData>())).qLDiagSqrtInv as *const _ as usize
7298 },
7299 40744usize,
7300 concat!(
7301 "Offset of field: ",
7302 stringify!(_mjData),
7303 "::",
7304 stringify!(qLDiagSqrtInv)
7305 )
7306 );
7307 assert_eq!(
7308 unsafe { &(*(::std::ptr::null::<_mjData>())).contact as *const _ as usize },
7309 40752usize,
7310 concat!(
7311 "Offset of field: ",
7312 stringify!(_mjData),
7313 "::",
7314 stringify!(contact)
7315 )
7316 );
7317 assert_eq!(
7318 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_type as *const _ as usize },
7319 40760usize,
7320 concat!(
7321 "Offset of field: ",
7322 stringify!(_mjData),
7323 "::",
7324 stringify!(efc_type)
7325 )
7326 );
7327 assert_eq!(
7328 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_id as *const _ as usize },
7329 40768usize,
7330 concat!(
7331 "Offset of field: ",
7332 stringify!(_mjData),
7333 "::",
7334 stringify!(efc_id)
7335 )
7336 );
7337 assert_eq!(
7338 unsafe {
7339 &(*(::std::ptr::null::<_mjData>())).efc_J_rownnz as *const _ as usize
7340 },
7341 40776usize,
7342 concat!(
7343 "Offset of field: ",
7344 stringify!(_mjData),
7345 "::",
7346 stringify!(efc_J_rownnz)
7347 )
7348 );
7349 assert_eq!(
7350 unsafe {
7351 &(*(::std::ptr::null::<_mjData>())).efc_J_rowadr as *const _ as usize
7352 },
7353 40784usize,
7354 concat!(
7355 "Offset of field: ",
7356 stringify!(_mjData),
7357 "::",
7358 stringify!(efc_J_rowadr)
7359 )
7360 );
7361 assert_eq!(
7362 unsafe {
7363 &(*(::std::ptr::null::<_mjData>())).efc_J_rowsuper as *const _ as usize
7364 },
7365 40792usize,
7366 concat!(
7367 "Offset of field: ",
7368 stringify!(_mjData),
7369 "::",
7370 stringify!(efc_J_rowsuper)
7371 )
7372 );
7373 assert_eq!(
7374 unsafe {
7375 &(*(::std::ptr::null::<_mjData>())).efc_J_colind as *const _ as usize
7376 },
7377 40800usize,
7378 concat!(
7379 "Offset of field: ",
7380 stringify!(_mjData),
7381 "::",
7382 stringify!(efc_J_colind)
7383 )
7384 );
7385 assert_eq!(
7386 unsafe {
7387 &(*(::std::ptr::null::<_mjData>())).efc_JT_rownnz as *const _ as usize
7388 },
7389 40808usize,
7390 concat!(
7391 "Offset of field: ",
7392 stringify!(_mjData),
7393 "::",
7394 stringify!(efc_JT_rownnz)
7395 )
7396 );
7397 assert_eq!(
7398 unsafe {
7399 &(*(::std::ptr::null::<_mjData>())).efc_JT_rowadr as *const _ as usize
7400 },
7401 40816usize,
7402 concat!(
7403 "Offset of field: ",
7404 stringify!(_mjData),
7405 "::",
7406 stringify!(efc_JT_rowadr)
7407 )
7408 );
7409 assert_eq!(
7410 unsafe {
7411 &(*(::std::ptr::null::<_mjData>())).efc_JT_rowsuper as *const _ as usize
7412 },
7413 40824usize,
7414 concat!(
7415 "Offset of field: ",
7416 stringify!(_mjData),
7417 "::",
7418 stringify!(efc_JT_rowsuper)
7419 )
7420 );
7421 assert_eq!(
7422 unsafe {
7423 &(*(::std::ptr::null::<_mjData>())).efc_JT_colind as *const _ as usize
7424 },
7425 40832usize,
7426 concat!(
7427 "Offset of field: ",
7428 stringify!(_mjData),
7429 "::",
7430 stringify!(efc_JT_colind)
7431 )
7432 );
7433 assert_eq!(
7434 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_J as *const _ as usize },
7435 40840usize,
7436 concat!(
7437 "Offset of field: ",
7438 stringify!(_mjData),
7439 "::",
7440 stringify!(efc_J)
7441 )
7442 );
7443 assert_eq!(
7444 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_JT as *const _ as usize },
7445 40848usize,
7446 concat!(
7447 "Offset of field: ",
7448 stringify!(_mjData),
7449 "::",
7450 stringify!(efc_JT)
7451 )
7452 );
7453 assert_eq!(
7454 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_pos as *const _ as usize },
7455 40856usize,
7456 concat!(
7457 "Offset of field: ",
7458 stringify!(_mjData),
7459 "::",
7460 stringify!(efc_pos)
7461 )
7462 );
7463 assert_eq!(
7464 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_margin as *const _ as usize },
7465 40864usize,
7466 concat!(
7467 "Offset of field: ",
7468 stringify!(_mjData),
7469 "::",
7470 stringify!(efc_margin)
7471 )
7472 );
7473 assert_eq!(
7474 unsafe {
7475 &(*(::std::ptr::null::<_mjData>())).efc_frictionloss as *const _ as usize
7476 },
7477 40872usize,
7478 concat!(
7479 "Offset of field: ",
7480 stringify!(_mjData),
7481 "::",
7482 stringify!(efc_frictionloss)
7483 )
7484 );
7485 assert_eq!(
7486 unsafe {
7487 &(*(::std::ptr::null::<_mjData>())).efc_diagApprox as *const _ as usize
7488 },
7489 40880usize,
7490 concat!(
7491 "Offset of field: ",
7492 stringify!(_mjData),
7493 "::",
7494 stringify!(efc_diagApprox)
7495 )
7496 );
7497 assert_eq!(
7498 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_KBIP as *const _ as usize },
7499 40888usize,
7500 concat!(
7501 "Offset of field: ",
7502 stringify!(_mjData),
7503 "::",
7504 stringify!(efc_KBIP)
7505 )
7506 );
7507 assert_eq!(
7508 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_D as *const _ as usize },
7509 40896usize,
7510 concat!(
7511 "Offset of field: ",
7512 stringify!(_mjData),
7513 "::",
7514 stringify!(efc_D)
7515 )
7516 );
7517 assert_eq!(
7518 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_R as *const _ as usize },
7519 40904usize,
7520 concat!(
7521 "Offset of field: ",
7522 stringify!(_mjData),
7523 "::",
7524 stringify!(efc_R)
7525 )
7526 );
7527 assert_eq!(
7528 unsafe {
7529 &(*(::std::ptr::null::<_mjData>())).efc_AR_rownnz as *const _ as usize
7530 },
7531 40912usize,
7532 concat!(
7533 "Offset of field: ",
7534 stringify!(_mjData),
7535 "::",
7536 stringify!(efc_AR_rownnz)
7537 )
7538 );
7539 assert_eq!(
7540 unsafe {
7541 &(*(::std::ptr::null::<_mjData>())).efc_AR_rowadr as *const _ as usize
7542 },
7543 40920usize,
7544 concat!(
7545 "Offset of field: ",
7546 stringify!(_mjData),
7547 "::",
7548 stringify!(efc_AR_rowadr)
7549 )
7550 );
7551 assert_eq!(
7552 unsafe {
7553 &(*(::std::ptr::null::<_mjData>())).efc_AR_colind as *const _ as usize
7554 },
7555 40928usize,
7556 concat!(
7557 "Offset of field: ",
7558 stringify!(_mjData),
7559 "::",
7560 stringify!(efc_AR_colind)
7561 )
7562 );
7563 assert_eq!(
7564 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_AR as *const _ as usize },
7565 40936usize,
7566 concat!(
7567 "Offset of field: ",
7568 stringify!(_mjData),
7569 "::",
7570 stringify!(efc_AR)
7571 )
7572 );
7573 assert_eq!(
7574 unsafe {
7575 &(*(::std::ptr::null::<_mjData>())).ten_velocity as *const _ as usize
7576 },
7577 40944usize,
7578 concat!(
7579 "Offset of field: ",
7580 stringify!(_mjData),
7581 "::",
7582 stringify!(ten_velocity)
7583 )
7584 );
7585 assert_eq!(
7586 unsafe {
7587 &(*(::std::ptr::null::<_mjData>())).actuator_velocity as *const _ as usize
7588 },
7589 40952usize,
7590 concat!(
7591 "Offset of field: ",
7592 stringify!(_mjData),
7593 "::",
7594 stringify!(actuator_velocity)
7595 )
7596 );
7597 assert_eq!(
7598 unsafe { &(*(::std::ptr::null::<_mjData>())).cvel as *const _ as usize },
7599 40960usize,
7600 concat!(
7601 "Offset of field: ",
7602 stringify!(_mjData),
7603 "::",
7604 stringify!(cvel)
7605 )
7606 );
7607 assert_eq!(
7608 unsafe { &(*(::std::ptr::null::<_mjData>())).cdof_dot as *const _ as usize },
7609 40968usize,
7610 concat!(
7611 "Offset of field: ",
7612 stringify!(_mjData),
7613 "::",
7614 stringify!(cdof_dot)
7615 )
7616 );
7617 assert_eq!(
7618 unsafe { &(*(::std::ptr::null::<_mjData>())).qfrc_bias as *const _ as usize },
7619 40976usize,
7620 concat!(
7621 "Offset of field: ",
7622 stringify!(_mjData),
7623 "::",
7624 stringify!(qfrc_bias)
7625 )
7626 );
7627 assert_eq!(
7628 unsafe {
7629 &(*(::std::ptr::null::<_mjData>())).qfrc_passive as *const _ as usize
7630 },
7631 40984usize,
7632 concat!(
7633 "Offset of field: ",
7634 stringify!(_mjData),
7635 "::",
7636 stringify!(qfrc_passive)
7637 )
7638 );
7639 assert_eq!(
7640 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_vel as *const _ as usize },
7641 40992usize,
7642 concat!(
7643 "Offset of field: ",
7644 stringify!(_mjData),
7645 "::",
7646 stringify!(efc_vel)
7647 )
7648 );
7649 assert_eq!(
7650 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_aref as *const _ as usize },
7651 41000usize,
7652 concat!(
7653 "Offset of field: ",
7654 stringify!(_mjData),
7655 "::",
7656 stringify!(efc_aref)
7657 )
7658 );
7659 assert_eq!(
7660 unsafe {
7661 &(*(::std::ptr::null::<_mjData>())).subtree_linvel as *const _ as usize
7662 },
7663 41008usize,
7664 concat!(
7665 "Offset of field: ",
7666 stringify!(_mjData),
7667 "::",
7668 stringify!(subtree_linvel)
7669 )
7670 );
7671 assert_eq!(
7672 unsafe {
7673 &(*(::std::ptr::null::<_mjData>())).subtree_angmom as *const _ as usize
7674 },
7675 41016usize,
7676 concat!(
7677 "Offset of field: ",
7678 stringify!(_mjData),
7679 "::",
7680 stringify!(subtree_angmom)
7681 )
7682 );
7683 assert_eq!(
7684 unsafe {
7685 &(*(::std::ptr::null::<_mjData>())).actuator_force as *const _ as usize
7686 },
7687 41024usize,
7688 concat!(
7689 "Offset of field: ",
7690 stringify!(_mjData),
7691 "::",
7692 stringify!(actuator_force)
7693 )
7694 );
7695 assert_eq!(
7696 unsafe {
7697 &(*(::std::ptr::null::<_mjData>())).qfrc_actuator as *const _ as usize
7698 },
7699 41032usize,
7700 concat!(
7701 "Offset of field: ",
7702 stringify!(_mjData),
7703 "::",
7704 stringify!(qfrc_actuator)
7705 )
7706 );
7707 assert_eq!(
7708 unsafe { &(*(::std::ptr::null::<_mjData>())).qfrc_unc as *const _ as usize },
7709 41040usize,
7710 concat!(
7711 "Offset of field: ",
7712 stringify!(_mjData),
7713 "::",
7714 stringify!(qfrc_unc)
7715 )
7716 );
7717 assert_eq!(
7718 unsafe { &(*(::std::ptr::null::<_mjData>())).qacc_unc as *const _ as usize },
7719 41048usize,
7720 concat!(
7721 "Offset of field: ",
7722 stringify!(_mjData),
7723 "::",
7724 stringify!(qacc_unc)
7725 )
7726 );
7727 assert_eq!(
7728 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_b as *const _ as usize },
7729 41056usize,
7730 concat!(
7731 "Offset of field: ",
7732 stringify!(_mjData),
7733 "::",
7734 stringify!(efc_b)
7735 )
7736 );
7737 assert_eq!(
7738 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_force as *const _ as usize },
7739 41064usize,
7740 concat!(
7741 "Offset of field: ",
7742 stringify!(_mjData),
7743 "::",
7744 stringify!(efc_force)
7745 )
7746 );
7747 assert_eq!(
7748 unsafe { &(*(::std::ptr::null::<_mjData>())).efc_state as *const _ as usize },
7749 41072usize,
7750 concat!(
7751 "Offset of field: ",
7752 stringify!(_mjData),
7753 "::",
7754 stringify!(efc_state)
7755 )
7756 );
7757 assert_eq!(
7758 unsafe {
7759 &(*(::std::ptr::null::<_mjData>())).qfrc_constraint as *const _ as usize
7760 },
7761 41080usize,
7762 concat!(
7763 "Offset of field: ",
7764 stringify!(_mjData),
7765 "::",
7766 stringify!(qfrc_constraint)
7767 )
7768 );
7769 assert_eq!(
7770 unsafe {
7771 &(*(::std::ptr::null::<_mjData>())).qfrc_inverse as *const _ as usize
7772 },
7773 41088usize,
7774 concat!(
7775 "Offset of field: ",
7776 stringify!(_mjData),
7777 "::",
7778 stringify!(qfrc_inverse)
7779 )
7780 );
7781 assert_eq!(
7782 unsafe { &(*(::std::ptr::null::<_mjData>())).cacc as *const _ as usize },
7783 41096usize,
7784 concat!(
7785 "Offset of field: ",
7786 stringify!(_mjData),
7787 "::",
7788 stringify!(cacc)
7789 )
7790 );
7791 assert_eq!(
7792 unsafe { &(*(::std::ptr::null::<_mjData>())).cfrc_int as *const _ as usize },
7793 41104usize,
7794 concat!(
7795 "Offset of field: ",
7796 stringify!(_mjData),
7797 "::",
7798 stringify!(cfrc_int)
7799 )
7800 );
7801 assert_eq!(
7802 unsafe { &(*(::std::ptr::null::<_mjData>())).cfrc_ext as *const _ as usize },
7803 41112usize,
7804 concat!(
7805 "Offset of field: ",
7806 stringify!(_mjData),
7807 "::",
7808 stringify!(cfrc_ext)
7809 )
7810 );
7811}
7812impl Default for _mjData {
7813 fn default() -> Self {
7814 unsafe { ::std::mem::zeroed() }
7815 }
7816}
7817pub type mjData = _mjData;
7818pub type mjfGeneric =
7819 ::std::option::Option<unsafe extern "C" fn(m: *const mjModel, d: *mut mjData)>;
7820pub type mjfConFilt = ::std::option::Option<
7821 unsafe extern "C" fn(
7822 m: *const mjModel,
7823 d: *mut mjData,
7824 geom1: ::std::os::raw::c_int,
7825 geom2: ::std::os::raw::c_int,
7826 ) -> ::std::os::raw::c_int,
7827>;
7828pub type mjfSensor = ::std::option::Option<
7829 unsafe extern "C" fn(
7830 m: *const mjModel,
7831 d: *mut mjData,
7832 stage: ::std::os::raw::c_int,
7833 ),
7834>;
7835pub type mjfTime = ::std::option::Option<unsafe extern "C" fn() -> mjtNum>;
7836pub type mjfAct = ::std::option::Option<
7837 unsafe extern "C" fn(
7838 m: *const mjModel,
7839 d: *const mjData,
7840 id: ::std::os::raw::c_int,
7841 ) -> mjtNum,
7842>;
7843pub type mjfCollision = ::std::option::Option<
7844 unsafe extern "C" fn(
7845 m: *const mjModel,
7846 d: *const mjData,
7847 con: *mut mjContact,
7848 g1: ::std::os::raw::c_int,
7849 g2: ::std::os::raw::c_int,
7850 margin: mjtNum,
7851 ) -> ::std::os::raw::c_int,
7852>;
7853impl _mjtCatBit {
7854 pub const STATIC: _mjtCatBit = _mjtCatBit(1);
7855}
7856impl _mjtCatBit {
7857 pub const DYNAMIC: _mjtCatBit = _mjtCatBit(2);
7858}
7859impl _mjtCatBit {
7860 pub const DECOR: _mjtCatBit = _mjtCatBit(4);
7861}
7862impl _mjtCatBit {
7863 pub const ALL: _mjtCatBit = _mjtCatBit(7);
7864}
7865impl ::std::ops::BitOr<_mjtCatBit> for _mjtCatBit {
7866 type Output = Self;
7867
7868 #[inline]
7869 fn bitor(self, other: Self) -> Self {
7870 _mjtCatBit(self.0 | other.0)
7871 }
7872}
7873impl ::std::ops::BitOrAssign for _mjtCatBit {
7874 #[inline]
7875 fn bitor_assign(&mut self, rhs: _mjtCatBit) {
7876 self.0 |= rhs.0;
7877 }
7878}
7879impl ::std::ops::BitAnd<_mjtCatBit> for _mjtCatBit {
7880 type Output = Self;
7881
7882 #[inline]
7883 fn bitand(self, other: Self) -> Self {
7884 _mjtCatBit(self.0 & other.0)
7885 }
7886}
7887impl ::std::ops::BitAndAssign for _mjtCatBit {
7888 #[inline]
7889 fn bitand_assign(&mut self, rhs: _mjtCatBit) {
7890 self.0 &= rhs.0;
7891 }
7892}
7893#[repr(transparent)]
7894#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7895pub struct _mjtCatBit(pub u32);
7896pub use self::_mjtCatBit as mjtCatBit;
7897#[repr(u32)]
7898#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7899pub enum _mjtMouse {
7900 NONE = 0,
7901 ROTATE_V = 1,
7902 ROTATE_H = 2,
7903 MOVE_V = 3,
7904 MOVE_H = 4,
7905 ZOOM = 5,
7906 SELECT = 6,
7907}
7908pub use self::_mjtMouse as mjtMouse;
7909impl _mjtPertBit {
7910 pub const TRANSLATE: _mjtPertBit = _mjtPertBit(1);
7911}
7912impl _mjtPertBit {
7913 pub const ROTATE: _mjtPertBit = _mjtPertBit(2);
7914}
7915impl ::std::ops::BitOr<_mjtPertBit> for _mjtPertBit {
7916 type Output = Self;
7917
7918 #[inline]
7919 fn bitor(self, other: Self) -> Self {
7920 _mjtPertBit(self.0 | other.0)
7921 }
7922}
7923impl ::std::ops::BitOrAssign for _mjtPertBit {
7924 #[inline]
7925 fn bitor_assign(&mut self, rhs: _mjtPertBit) {
7926 self.0 |= rhs.0;
7927 }
7928}
7929impl ::std::ops::BitAnd<_mjtPertBit> for _mjtPertBit {
7930 type Output = Self;
7931
7932 #[inline]
7933 fn bitand(self, other: Self) -> Self {
7934 _mjtPertBit(self.0 & other.0)
7935 }
7936}
7937impl ::std::ops::BitAndAssign for _mjtPertBit {
7938 #[inline]
7939 fn bitand_assign(&mut self, rhs: _mjtPertBit) {
7940 self.0 &= rhs.0;
7941 }
7942}
7943#[repr(transparent)]
7944#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7945pub struct _mjtPertBit(pub u32);
7946pub use self::_mjtPertBit as mjtPertBit;
7947#[repr(u32)]
7948#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7949pub enum _mjtCamera {
7950 FREE = 0,
7951 TRACKING = 1,
7952 FIXED = 2,
7953 USER = 3,
7954}
7955pub use self::_mjtCamera as mjtCamera;
7956#[repr(u32)]
7957#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7958pub enum _mjtLabel {
7959 NONE = 0,
7960 BODY = 1,
7961 JOINT = 2,
7962 GEOM = 3,
7963 SITE = 4,
7964 CAMERA = 5,
7965 LIGHT = 6,
7966 TENDON = 7,
7967 ACTUATOR = 8,
7968 CONSTRAINT = 9,
7969 SKIN = 10,
7970 SELECTION = 11,
7971 SELPNT = 12,
7972 CONTACTFORCE = 13,
7973 mjNLABEL = 14,
7974}
7975pub use self::_mjtLabel as mjtLabel;
7976#[repr(u32)]
7977#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7978pub enum _mjtFrame {
7979 NONE = 0,
7980 BODY = 1,
7981 GEOM = 2,
7982 SITE = 3,
7983 CAMERA = 4,
7984 LIGHT = 5,
7985 WORLD = 6,
7986 mjNFRAME = 7,
7987}
7988pub use self::_mjtFrame as mjtFrame;
7989#[repr(u32)]
7990#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
7991pub enum _mjtVisFlag {
7992 CONVEXHULL = 0,
7993 TEXTURE = 1,
7994 JOINT = 2,
7995 ACTUATOR = 3,
7996 CAMERA = 4,
7997 LIGHT = 5,
7998 TENDON = 6,
7999 RANGEFINDER = 7,
8000 CONSTRAINT = 8,
8001 INERTIA = 9,
8002 SCLINERTIA = 10,
8003 PERTFORCE = 11,
8004 PERTOBJ = 12,
8005 CONTACTPOINT = 13,
8006 CONTACTFORCE = 14,
8007 CONTACTSPLIT = 15,
8008 TRANSPARENT = 16,
8009 AUTOCONNECT = 17,
8010 COM = 18,
8011 SELECT = 19,
8012 STATIC = 20,
8013 SKIN = 21,
8014 mjNVISFLAG = 22,
8015}
8016pub use self::_mjtVisFlag as mjtVisFlag;
8017#[repr(u32)]
8018#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
8019pub enum _mjtRndFlag {
8020 SHADOW = 0,
8021 WIREFRAME = 1,
8022 REFLECTION = 2,
8023 ADDITIVE = 3,
8024 SKYBOX = 4,
8025 FOG = 5,
8026 HAZE = 6,
8027 SEGMENT = 7,
8028 IDCOLOR = 8,
8029 mjNRNDFLAG = 9,
8030}
8031pub use self::_mjtRndFlag as mjtRndFlag;
8032#[repr(u32)]
8033#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
8034pub enum _mjtStereo {
8035 NONE = 0,
8036 QUADBUFFERED = 1,
8037 SIDEBYSIDE = 2,
8038}
8039pub use self::_mjtStereo as mjtStereo;
8040#[repr(C)]
8041#[derive(Debug, Default, Copy, Clone)]
8042pub struct _mjvPerturb {
8043 pub select: ::std::os::raw::c_int,
8044 pub skinselect: ::std::os::raw::c_int,
8045 pub active: ::std::os::raw::c_int,
8046 pub refpos: [mjtNum; 3usize],
8047 pub refquat: [mjtNum; 4usize],
8048 pub localpos: [mjtNum; 3usize],
8049 pub scale: mjtNum,
8050}
8051#[test]
8052fn bindgen_test_layout__mjvPerturb() {
8053 assert_eq!(
8054 ::std::mem::size_of::<_mjvPerturb>(),
8055 104usize,
8056 concat!("Size of: ", stringify!(_mjvPerturb))
8057 );
8058 assert_eq!(
8059 ::std::mem::align_of::<_mjvPerturb>(),
8060 8usize,
8061 concat!("Alignment of ", stringify!(_mjvPerturb))
8062 );
8063 assert_eq!(
8064 unsafe { &(*(::std::ptr::null::<_mjvPerturb>())).select as *const _ as usize },
8065 0usize,
8066 concat!(
8067 "Offset of field: ",
8068 stringify!(_mjvPerturb),
8069 "::",
8070 stringify!(select)
8071 )
8072 );
8073 assert_eq!(
8074 unsafe {
8075 &(*(::std::ptr::null::<_mjvPerturb>())).skinselect as *const _ as usize
8076 },
8077 4usize,
8078 concat!(
8079 "Offset of field: ",
8080 stringify!(_mjvPerturb),
8081 "::",
8082 stringify!(skinselect)
8083 )
8084 );
8085 assert_eq!(
8086 unsafe { &(*(::std::ptr::null::<_mjvPerturb>())).active as *const _ as usize },
8087 8usize,
8088 concat!(
8089 "Offset of field: ",
8090 stringify!(_mjvPerturb),
8091 "::",
8092 stringify!(active)
8093 )
8094 );
8095 assert_eq!(
8096 unsafe { &(*(::std::ptr::null::<_mjvPerturb>())).refpos as *const _ as usize },
8097 16usize,
8098 concat!(
8099 "Offset of field: ",
8100 stringify!(_mjvPerturb),
8101 "::",
8102 stringify!(refpos)
8103 )
8104 );
8105 assert_eq!(
8106 unsafe { &(*(::std::ptr::null::<_mjvPerturb>())).refquat as *const _ as usize },
8107 40usize,
8108 concat!(
8109 "Offset of field: ",
8110 stringify!(_mjvPerturb),
8111 "::",
8112 stringify!(refquat)
8113 )
8114 );
8115 assert_eq!(
8116 unsafe {
8117 &(*(::std::ptr::null::<_mjvPerturb>())).localpos as *const _ as usize
8118 },
8119 72usize,
8120 concat!(
8121 "Offset of field: ",
8122 stringify!(_mjvPerturb),
8123 "::",
8124 stringify!(localpos)
8125 )
8126 );
8127 assert_eq!(
8128 unsafe { &(*(::std::ptr::null::<_mjvPerturb>())).scale as *const _ as usize },
8129 96usize,
8130 concat!(
8131 "Offset of field: ",
8132 stringify!(_mjvPerturb),
8133 "::",
8134 stringify!(scale)
8135 )
8136 );
8137}
8138pub type mjvPerturb = _mjvPerturb;
8139#[repr(C)]
8140#[derive(Debug, Default, Copy, Clone)]
8141pub struct _mjvCamera {
8142 pub type_: ::std::os::raw::c_int,
8143 pub fixedcamid: ::std::os::raw::c_int,
8144 pub trackbodyid: ::std::os::raw::c_int,
8145 pub lookat: [mjtNum; 3usize],
8146 pub distance: mjtNum,
8147 pub azimuth: mjtNum,
8148 pub elevation: mjtNum,
8149}
8150#[test]
8151fn bindgen_test_layout__mjvCamera() {
8152 assert_eq!(
8153 ::std::mem::size_of::<_mjvCamera>(),
8154 64usize,
8155 concat!("Size of: ", stringify!(_mjvCamera))
8156 );
8157 assert_eq!(
8158 ::std::mem::align_of::<_mjvCamera>(),
8159 8usize,
8160 concat!("Alignment of ", stringify!(_mjvCamera))
8161 );
8162 assert_eq!(
8163 unsafe { &(*(::std::ptr::null::<_mjvCamera>())).type_ as *const _ as usize },
8164 0usize,
8165 concat!(
8166 "Offset of field: ",
8167 stringify!(_mjvCamera),
8168 "::",
8169 stringify!(type_)
8170 )
8171 );
8172 assert_eq!(
8173 unsafe {
8174 &(*(::std::ptr::null::<_mjvCamera>())).fixedcamid as *const _ as usize
8175 },
8176 4usize,
8177 concat!(
8178 "Offset of field: ",
8179 stringify!(_mjvCamera),
8180 "::",
8181 stringify!(fixedcamid)
8182 )
8183 );
8184 assert_eq!(
8185 unsafe {
8186 &(*(::std::ptr::null::<_mjvCamera>())).trackbodyid as *const _ as usize
8187 },
8188 8usize,
8189 concat!(
8190 "Offset of field: ",
8191 stringify!(_mjvCamera),
8192 "::",
8193 stringify!(trackbodyid)
8194 )
8195 );
8196 assert_eq!(
8197 unsafe { &(*(::std::ptr::null::<_mjvCamera>())).lookat as *const _ as usize },
8198 16usize,
8199 concat!(
8200 "Offset of field: ",
8201 stringify!(_mjvCamera),
8202 "::",
8203 stringify!(lookat)
8204 )
8205 );
8206 assert_eq!(
8207 unsafe { &(*(::std::ptr::null::<_mjvCamera>())).distance as *const _ as usize },
8208 40usize,
8209 concat!(
8210 "Offset of field: ",
8211 stringify!(_mjvCamera),
8212 "::",
8213 stringify!(distance)
8214 )
8215 );
8216 assert_eq!(
8217 unsafe { &(*(::std::ptr::null::<_mjvCamera>())).azimuth as *const _ as usize },
8218 48usize,
8219 concat!(
8220 "Offset of field: ",
8221 stringify!(_mjvCamera),
8222 "::",
8223 stringify!(azimuth)
8224 )
8225 );
8226 assert_eq!(
8227 unsafe {
8228 &(*(::std::ptr::null::<_mjvCamera>())).elevation as *const _ as usize
8229 },
8230 56usize,
8231 concat!(
8232 "Offset of field: ",
8233 stringify!(_mjvCamera),
8234 "::",
8235 stringify!(elevation)
8236 )
8237 );
8238}
8239pub type mjvCamera = _mjvCamera;
8240#[repr(C)]
8241#[derive(Debug, Default, Copy, Clone)]
8242pub struct _mjvGLCamera {
8243 pub pos: [f32; 3usize],
8244 pub forward: [f32; 3usize],
8245 pub up: [f32; 3usize],
8246 pub frustum_center: f32,
8247 pub frustum_bottom: f32,
8248 pub frustum_top: f32,
8249 pub frustum_near: f32,
8250 pub frustum_far: f32,
8251}
8252#[test]
8253fn bindgen_test_layout__mjvGLCamera() {
8254 assert_eq!(
8255 ::std::mem::size_of::<_mjvGLCamera>(),
8256 56usize,
8257 concat!("Size of: ", stringify!(_mjvGLCamera))
8258 );
8259 assert_eq!(
8260 ::std::mem::align_of::<_mjvGLCamera>(),
8261 4usize,
8262 concat!("Alignment of ", stringify!(_mjvGLCamera))
8263 );
8264 assert_eq!(
8265 unsafe { &(*(::std::ptr::null::<_mjvGLCamera>())).pos as *const _ as usize },
8266 0usize,
8267 concat!(
8268 "Offset of field: ",
8269 stringify!(_mjvGLCamera),
8270 "::",
8271 stringify!(pos)
8272 )
8273 );
8274 assert_eq!(
8275 unsafe {
8276 &(*(::std::ptr::null::<_mjvGLCamera>())).forward as *const _ as usize
8277 },
8278 12usize,
8279 concat!(
8280 "Offset of field: ",
8281 stringify!(_mjvGLCamera),
8282 "::",
8283 stringify!(forward)
8284 )
8285 );
8286 assert_eq!(
8287 unsafe { &(*(::std::ptr::null::<_mjvGLCamera>())).up as *const _ as usize },
8288 24usize,
8289 concat!(
8290 "Offset of field: ",
8291 stringify!(_mjvGLCamera),
8292 "::",
8293 stringify!(up)
8294 )
8295 );
8296 assert_eq!(
8297 unsafe {
8298 &(*(::std::ptr::null::<_mjvGLCamera>())).frustum_center as *const _ as usize
8299 },
8300 36usize,
8301 concat!(
8302 "Offset of field: ",
8303 stringify!(_mjvGLCamera),
8304 "::",
8305 stringify!(frustum_center)
8306 )
8307 );
8308 assert_eq!(
8309 unsafe {
8310 &(*(::std::ptr::null::<_mjvGLCamera>())).frustum_bottom as *const _ as usize
8311 },
8312 40usize,
8313 concat!(
8314 "Offset of field: ",
8315 stringify!(_mjvGLCamera),
8316 "::",
8317 stringify!(frustum_bottom)
8318 )
8319 );
8320 assert_eq!(
8321 unsafe {
8322 &(*(::std::ptr::null::<_mjvGLCamera>())).frustum_top as *const _ as usize
8323 },
8324 44usize,
8325 concat!(
8326 "Offset of field: ",
8327 stringify!(_mjvGLCamera),
8328 "::",
8329 stringify!(frustum_top)
8330 )
8331 );
8332 assert_eq!(
8333 unsafe {
8334 &(*(::std::ptr::null::<_mjvGLCamera>())).frustum_near as *const _ as usize
8335 },
8336 48usize,
8337 concat!(
8338 "Offset of field: ",
8339 stringify!(_mjvGLCamera),
8340 "::",
8341 stringify!(frustum_near)
8342 )
8343 );
8344 assert_eq!(
8345 unsafe {
8346 &(*(::std::ptr::null::<_mjvGLCamera>())).frustum_far as *const _ as usize
8347 },
8348 52usize,
8349 concat!(
8350 "Offset of field: ",
8351 stringify!(_mjvGLCamera),
8352 "::",
8353 stringify!(frustum_far)
8354 )
8355 );
8356}
8357pub type mjvGLCamera = _mjvGLCamera;
8358#[repr(C)]
8359#[derive(Copy, Clone)]
8360pub struct _mjvGeom {
8361 pub type_: ::std::os::raw::c_int,
8362 pub dataid: ::std::os::raw::c_int,
8363 pub objtype: ::std::os::raw::c_int,
8364 pub objid: ::std::os::raw::c_int,
8365 pub category: ::std::os::raw::c_int,
8366 pub texid: ::std::os::raw::c_int,
8367 pub texuniform: ::std::os::raw::c_int,
8368 pub texcoord: ::std::os::raw::c_int,
8369 pub segid: ::std::os::raw::c_int,
8370 pub texrepeat: [f32; 2usize],
8371 pub size: [f32; 3usize],
8372 pub pos: [f32; 3usize],
8373 pub mat: [f32; 9usize],
8374 pub rgba: [f32; 4usize],
8375 pub emission: f32,
8376 pub specular: f32,
8377 pub shininess: f32,
8378 pub reflectance: f32,
8379 pub label: [::std::os::raw::c_char; 100usize],
8380 pub camdist: f32,
8381 pub modelrbound: f32,
8382 pub transparent: mjtByte,
8383}
8384#[test]
8385fn bindgen_test_layout__mjvGeom() {
8386 assert_eq!(
8387 ::std::mem::size_of::<_mjvGeom>(),
8388 248usize,
8389 concat!("Size of: ", stringify!(_mjvGeom))
8390 );
8391 assert_eq!(
8392 ::std::mem::align_of::<_mjvGeom>(),
8393 4usize,
8394 concat!("Alignment of ", stringify!(_mjvGeom))
8395 );
8396 assert_eq!(
8397 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).type_ as *const _ as usize },
8398 0usize,
8399 concat!(
8400 "Offset of field: ",
8401 stringify!(_mjvGeom),
8402 "::",
8403 stringify!(type_)
8404 )
8405 );
8406 assert_eq!(
8407 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).dataid as *const _ as usize },
8408 4usize,
8409 concat!(
8410 "Offset of field: ",
8411 stringify!(_mjvGeom),
8412 "::",
8413 stringify!(dataid)
8414 )
8415 );
8416 assert_eq!(
8417 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).objtype as *const _ as usize },
8418 8usize,
8419 concat!(
8420 "Offset of field: ",
8421 stringify!(_mjvGeom),
8422 "::",
8423 stringify!(objtype)
8424 )
8425 );
8426 assert_eq!(
8427 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).objid as *const _ as usize },
8428 12usize,
8429 concat!(
8430 "Offset of field: ",
8431 stringify!(_mjvGeom),
8432 "::",
8433 stringify!(objid)
8434 )
8435 );
8436 assert_eq!(
8437 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).category as *const _ as usize },
8438 16usize,
8439 concat!(
8440 "Offset of field: ",
8441 stringify!(_mjvGeom),
8442 "::",
8443 stringify!(category)
8444 )
8445 );
8446 assert_eq!(
8447 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).texid as *const _ as usize },
8448 20usize,
8449 concat!(
8450 "Offset of field: ",
8451 stringify!(_mjvGeom),
8452 "::",
8453 stringify!(texid)
8454 )
8455 );
8456 assert_eq!(
8457 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).texuniform as *const _ as usize },
8458 24usize,
8459 concat!(
8460 "Offset of field: ",
8461 stringify!(_mjvGeom),
8462 "::",
8463 stringify!(texuniform)
8464 )
8465 );
8466 assert_eq!(
8467 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).texcoord as *const _ as usize },
8468 28usize,
8469 concat!(
8470 "Offset of field: ",
8471 stringify!(_mjvGeom),
8472 "::",
8473 stringify!(texcoord)
8474 )
8475 );
8476 assert_eq!(
8477 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).segid as *const _ as usize },
8478 32usize,
8479 concat!(
8480 "Offset of field: ",
8481 stringify!(_mjvGeom),
8482 "::",
8483 stringify!(segid)
8484 )
8485 );
8486 assert_eq!(
8487 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).texrepeat as *const _ as usize },
8488 36usize,
8489 concat!(
8490 "Offset of field: ",
8491 stringify!(_mjvGeom),
8492 "::",
8493 stringify!(texrepeat)
8494 )
8495 );
8496 assert_eq!(
8497 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).size as *const _ as usize },
8498 44usize,
8499 concat!(
8500 "Offset of field: ",
8501 stringify!(_mjvGeom),
8502 "::",
8503 stringify!(size)
8504 )
8505 );
8506 assert_eq!(
8507 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).pos as *const _ as usize },
8508 56usize,
8509 concat!(
8510 "Offset of field: ",
8511 stringify!(_mjvGeom),
8512 "::",
8513 stringify!(pos)
8514 )
8515 );
8516 assert_eq!(
8517 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).mat as *const _ as usize },
8518 68usize,
8519 concat!(
8520 "Offset of field: ",
8521 stringify!(_mjvGeom),
8522 "::",
8523 stringify!(mat)
8524 )
8525 );
8526 assert_eq!(
8527 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).rgba as *const _ as usize },
8528 104usize,
8529 concat!(
8530 "Offset of field: ",
8531 stringify!(_mjvGeom),
8532 "::",
8533 stringify!(rgba)
8534 )
8535 );
8536 assert_eq!(
8537 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).emission as *const _ as usize },
8538 120usize,
8539 concat!(
8540 "Offset of field: ",
8541 stringify!(_mjvGeom),
8542 "::",
8543 stringify!(emission)
8544 )
8545 );
8546 assert_eq!(
8547 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).specular as *const _ as usize },
8548 124usize,
8549 concat!(
8550 "Offset of field: ",
8551 stringify!(_mjvGeom),
8552 "::",
8553 stringify!(specular)
8554 )
8555 );
8556 assert_eq!(
8557 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).shininess as *const _ as usize },
8558 128usize,
8559 concat!(
8560 "Offset of field: ",
8561 stringify!(_mjvGeom),
8562 "::",
8563 stringify!(shininess)
8564 )
8565 );
8566 assert_eq!(
8567 unsafe {
8568 &(*(::std::ptr::null::<_mjvGeom>())).reflectance as *const _ as usize
8569 },
8570 132usize,
8571 concat!(
8572 "Offset of field: ",
8573 stringify!(_mjvGeom),
8574 "::",
8575 stringify!(reflectance)
8576 )
8577 );
8578 assert_eq!(
8579 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).label as *const _ as usize },
8580 136usize,
8581 concat!(
8582 "Offset of field: ",
8583 stringify!(_mjvGeom),
8584 "::",
8585 stringify!(label)
8586 )
8587 );
8588 assert_eq!(
8589 unsafe { &(*(::std::ptr::null::<_mjvGeom>())).camdist as *const _ as usize },
8590 236usize,
8591 concat!(
8592 "Offset of field: ",
8593 stringify!(_mjvGeom),
8594 "::",
8595 stringify!(camdist)
8596 )
8597 );
8598 assert_eq!(
8599 unsafe {
8600 &(*(::std::ptr::null::<_mjvGeom>())).modelrbound as *const _ as usize
8601 },
8602 240usize,
8603 concat!(
8604 "Offset of field: ",
8605 stringify!(_mjvGeom),
8606 "::",
8607 stringify!(modelrbound)
8608 )
8609 );
8610 assert_eq!(
8611 unsafe {
8612 &(*(::std::ptr::null::<_mjvGeom>())).transparent as *const _ as usize
8613 },
8614 244usize,
8615 concat!(
8616 "Offset of field: ",
8617 stringify!(_mjvGeom),
8618 "::",
8619 stringify!(transparent)
8620 )
8621 );
8622}
8623impl Default for _mjvGeom {
8624 fn default() -> Self {
8625 unsafe { ::std::mem::zeroed() }
8626 }
8627}
8628pub type mjvGeom = _mjvGeom;
8629#[repr(C)]
8630#[derive(Debug, Default, Copy, Clone)]
8631pub struct _mjvLight {
8632 pub pos: [f32; 3usize],
8633 pub dir: [f32; 3usize],
8634 pub attenuation: [f32; 3usize],
8635 pub cutoff: f32,
8636 pub exponent: f32,
8637 pub ambient: [f32; 3usize],
8638 pub diffuse: [f32; 3usize],
8639 pub specular: [f32; 3usize],
8640 pub headlight: mjtByte,
8641 pub directional: mjtByte,
8642 pub castshadow: mjtByte,
8643}
8644#[test]
8645fn bindgen_test_layout__mjvLight() {
8646 assert_eq!(
8647 ::std::mem::size_of::<_mjvLight>(),
8648 84usize,
8649 concat!("Size of: ", stringify!(_mjvLight))
8650 );
8651 assert_eq!(
8652 ::std::mem::align_of::<_mjvLight>(),
8653 4usize,
8654 concat!("Alignment of ", stringify!(_mjvLight))
8655 );
8656 assert_eq!(
8657 unsafe { &(*(::std::ptr::null::<_mjvLight>())).pos as *const _ as usize },
8658 0usize,
8659 concat!(
8660 "Offset of field: ",
8661 stringify!(_mjvLight),
8662 "::",
8663 stringify!(pos)
8664 )
8665 );
8666 assert_eq!(
8667 unsafe { &(*(::std::ptr::null::<_mjvLight>())).dir as *const _ as usize },
8668 12usize,
8669 concat!(
8670 "Offset of field: ",
8671 stringify!(_mjvLight),
8672 "::",
8673 stringify!(dir)
8674 )
8675 );
8676 assert_eq!(
8677 unsafe {
8678 &(*(::std::ptr::null::<_mjvLight>())).attenuation as *const _ as usize
8679 },
8680 24usize,
8681 concat!(
8682 "Offset of field: ",
8683 stringify!(_mjvLight),
8684 "::",
8685 stringify!(attenuation)
8686 )
8687 );
8688 assert_eq!(
8689 unsafe { &(*(::std::ptr::null::<_mjvLight>())).cutoff as *const _ as usize },
8690 36usize,
8691 concat!(
8692 "Offset of field: ",
8693 stringify!(_mjvLight),
8694 "::",
8695 stringify!(cutoff)
8696 )
8697 );
8698 assert_eq!(
8699 unsafe { &(*(::std::ptr::null::<_mjvLight>())).exponent as *const _ as usize },
8700 40usize,
8701 concat!(
8702 "Offset of field: ",
8703 stringify!(_mjvLight),
8704 "::",
8705 stringify!(exponent)
8706 )
8707 );
8708 assert_eq!(
8709 unsafe { &(*(::std::ptr::null::<_mjvLight>())).ambient as *const _ as usize },
8710 44usize,
8711 concat!(
8712 "Offset of field: ",
8713 stringify!(_mjvLight),
8714 "::",
8715 stringify!(ambient)
8716 )
8717 );
8718 assert_eq!(
8719 unsafe { &(*(::std::ptr::null::<_mjvLight>())).diffuse as *const _ as usize },
8720 56usize,
8721 concat!(
8722 "Offset of field: ",
8723 stringify!(_mjvLight),
8724 "::",
8725 stringify!(diffuse)
8726 )
8727 );
8728 assert_eq!(
8729 unsafe { &(*(::std::ptr::null::<_mjvLight>())).specular as *const _ as usize },
8730 68usize,
8731 concat!(
8732 "Offset of field: ",
8733 stringify!(_mjvLight),
8734 "::",
8735 stringify!(specular)
8736 )
8737 );
8738 assert_eq!(
8739 unsafe { &(*(::std::ptr::null::<_mjvLight>())).headlight as *const _ as usize },
8740 80usize,
8741 concat!(
8742 "Offset of field: ",
8743 stringify!(_mjvLight),
8744 "::",
8745 stringify!(headlight)
8746 )
8747 );
8748 assert_eq!(
8749 unsafe {
8750 &(*(::std::ptr::null::<_mjvLight>())).directional as *const _ as usize
8751 },
8752 81usize,
8753 concat!(
8754 "Offset of field: ",
8755 stringify!(_mjvLight),
8756 "::",
8757 stringify!(directional)
8758 )
8759 );
8760 assert_eq!(
8761 unsafe {
8762 &(*(::std::ptr::null::<_mjvLight>())).castshadow as *const _ as usize
8763 },
8764 82usize,
8765 concat!(
8766 "Offset of field: ",
8767 stringify!(_mjvLight),
8768 "::",
8769 stringify!(castshadow)
8770 )
8771 );
8772}
8773pub type mjvLight = _mjvLight;
8774#[repr(C)]
8775#[derive(Debug, Default, Copy, Clone)]
8776pub struct _mjvOption {
8777 pub label: ::std::os::raw::c_int,
8778 pub frame: ::std::os::raw::c_int,
8779 pub geomgroup: [mjtByte; 6usize],
8780 pub sitegroup: [mjtByte; 6usize],
8781 pub jointgroup: [mjtByte; 6usize],
8782 pub tendongroup: [mjtByte; 6usize],
8783 pub actuatorgroup: [mjtByte; 6usize],
8784 pub flags: [mjtByte; 22usize],
8785}
8786#[test]
8787fn bindgen_test_layout__mjvOption() {
8788 assert_eq!(
8789 ::std::mem::size_of::<_mjvOption>(),
8790 60usize,
8791 concat!("Size of: ", stringify!(_mjvOption))
8792 );
8793 assert_eq!(
8794 ::std::mem::align_of::<_mjvOption>(),
8795 4usize,
8796 concat!("Alignment of ", stringify!(_mjvOption))
8797 );
8798 assert_eq!(
8799 unsafe { &(*(::std::ptr::null::<_mjvOption>())).label as *const _ as usize },
8800 0usize,
8801 concat!(
8802 "Offset of field: ",
8803 stringify!(_mjvOption),
8804 "::",
8805 stringify!(label)
8806 )
8807 );
8808 assert_eq!(
8809 unsafe { &(*(::std::ptr::null::<_mjvOption>())).frame as *const _ as usize },
8810 4usize,
8811 concat!(
8812 "Offset of field: ",
8813 stringify!(_mjvOption),
8814 "::",
8815 stringify!(frame)
8816 )
8817 );
8818 assert_eq!(
8819 unsafe {
8820 &(*(::std::ptr::null::<_mjvOption>())).geomgroup as *const _ as usize
8821 },
8822 8usize,
8823 concat!(
8824 "Offset of field: ",
8825 stringify!(_mjvOption),
8826 "::",
8827 stringify!(geomgroup)
8828 )
8829 );
8830 assert_eq!(
8831 unsafe {
8832 &(*(::std::ptr::null::<_mjvOption>())).sitegroup as *const _ as usize
8833 },
8834 14usize,
8835 concat!(
8836 "Offset of field: ",
8837 stringify!(_mjvOption),
8838 "::",
8839 stringify!(sitegroup)
8840 )
8841 );
8842 assert_eq!(
8843 unsafe {
8844 &(*(::std::ptr::null::<_mjvOption>())).jointgroup as *const _ as usize
8845 },
8846 20usize,
8847 concat!(
8848 "Offset of field: ",
8849 stringify!(_mjvOption),
8850 "::",
8851 stringify!(jointgroup)
8852 )
8853 );
8854 assert_eq!(
8855 unsafe {
8856 &(*(::std::ptr::null::<_mjvOption>())).tendongroup as *const _ as usize
8857 },
8858 26usize,
8859 concat!(
8860 "Offset of field: ",
8861 stringify!(_mjvOption),
8862 "::",
8863 stringify!(tendongroup)
8864 )
8865 );
8866 assert_eq!(
8867 unsafe {
8868 &(*(::std::ptr::null::<_mjvOption>())).actuatorgroup as *const _ as usize
8869 },
8870 32usize,
8871 concat!(
8872 "Offset of field: ",
8873 stringify!(_mjvOption),
8874 "::",
8875 stringify!(actuatorgroup)
8876 )
8877 );
8878 assert_eq!(
8879 unsafe { &(*(::std::ptr::null::<_mjvOption>())).flags as *const _ as usize },
8880 38usize,
8881 concat!(
8882 "Offset of field: ",
8883 stringify!(_mjvOption),
8884 "::",
8885 stringify!(flags)
8886 )
8887 );
8888}
8889pub type mjvOption = _mjvOption;
8890#[repr(C)]
8891#[derive(Debug, Copy, Clone)]
8892pub struct _mjvScene {
8893 pub maxgeom: ::std::os::raw::c_int,
8894 pub ngeom: ::std::os::raw::c_int,
8895 pub geoms: *mut mjvGeom,
8896 pub geomorder: *mut ::std::os::raw::c_int,
8897 pub nskin: ::std::os::raw::c_int,
8898 pub skinfacenum: *mut ::std::os::raw::c_int,
8899 pub skinvertadr: *mut ::std::os::raw::c_int,
8900 pub skinvertnum: *mut ::std::os::raw::c_int,
8901 pub skinvert: *mut f32,
8902 pub skinnormal: *mut f32,
8903 pub nlight: ::std::os::raw::c_int,
8904 pub lights: [mjvLight; 8usize],
8905 pub camera: [mjvGLCamera; 2usize],
8906 pub enabletransform: mjtByte,
8907 pub translate: [f32; 3usize],
8908 pub rotate: [f32; 4usize],
8909 pub scale: f32,
8910 pub stereo: ::std::os::raw::c_int,
8911 pub flags: [mjtByte; 9usize],
8912}
8913#[test]
8914fn bindgen_test_layout__mjvScene() {
8915 assert_eq!(
8916 ::std::mem::size_of::<_mjvScene>(),
8917 912usize,
8918 concat!("Size of: ", stringify!(_mjvScene))
8919 );
8920 assert_eq!(
8921 ::std::mem::align_of::<_mjvScene>(),
8922 8usize,
8923 concat!("Alignment of ", stringify!(_mjvScene))
8924 );
8925 assert_eq!(
8926 unsafe { &(*(::std::ptr::null::<_mjvScene>())).maxgeom as *const _ as usize },
8927 0usize,
8928 concat!(
8929 "Offset of field: ",
8930 stringify!(_mjvScene),
8931 "::",
8932 stringify!(maxgeom)
8933 )
8934 );
8935 assert_eq!(
8936 unsafe { &(*(::std::ptr::null::<_mjvScene>())).ngeom as *const _ as usize },
8937 4usize,
8938 concat!(
8939 "Offset of field: ",
8940 stringify!(_mjvScene),
8941 "::",
8942 stringify!(ngeom)
8943 )
8944 );
8945 assert_eq!(
8946 unsafe { &(*(::std::ptr::null::<_mjvScene>())).geoms as *const _ as usize },
8947 8usize,
8948 concat!(
8949 "Offset of field: ",
8950 stringify!(_mjvScene),
8951 "::",
8952 stringify!(geoms)
8953 )
8954 );
8955 assert_eq!(
8956 unsafe { &(*(::std::ptr::null::<_mjvScene>())).geomorder as *const _ as usize },
8957 16usize,
8958 concat!(
8959 "Offset of field: ",
8960 stringify!(_mjvScene),
8961 "::",
8962 stringify!(geomorder)
8963 )
8964 );
8965 assert_eq!(
8966 unsafe { &(*(::std::ptr::null::<_mjvScene>())).nskin as *const _ as usize },
8967 24usize,
8968 concat!(
8969 "Offset of field: ",
8970 stringify!(_mjvScene),
8971 "::",
8972 stringify!(nskin)
8973 )
8974 );
8975 assert_eq!(
8976 unsafe {
8977 &(*(::std::ptr::null::<_mjvScene>())).skinfacenum as *const _ as usize
8978 },
8979 32usize,
8980 concat!(
8981 "Offset of field: ",
8982 stringify!(_mjvScene),
8983 "::",
8984 stringify!(skinfacenum)
8985 )
8986 );
8987 assert_eq!(
8988 unsafe {
8989 &(*(::std::ptr::null::<_mjvScene>())).skinvertadr as *const _ as usize
8990 },
8991 40usize,
8992 concat!(
8993 "Offset of field: ",
8994 stringify!(_mjvScene),
8995 "::",
8996 stringify!(skinvertadr)
8997 )
8998 );
8999 assert_eq!(
9000 unsafe {
9001 &(*(::std::ptr::null::<_mjvScene>())).skinvertnum as *const _ as usize
9002 },
9003 48usize,
9004 concat!(
9005 "Offset of field: ",
9006 stringify!(_mjvScene),
9007 "::",
9008 stringify!(skinvertnum)
9009 )
9010 );
9011 assert_eq!(
9012 unsafe { &(*(::std::ptr::null::<_mjvScene>())).skinvert as *const _ as usize },
9013 56usize,
9014 concat!(
9015 "Offset of field: ",
9016 stringify!(_mjvScene),
9017 "::",
9018 stringify!(skinvert)
9019 )
9020 );
9021 assert_eq!(
9022 unsafe {
9023 &(*(::std::ptr::null::<_mjvScene>())).skinnormal as *const _ as usize
9024 },
9025 64usize,
9026 concat!(
9027 "Offset of field: ",
9028 stringify!(_mjvScene),
9029 "::",
9030 stringify!(skinnormal)
9031 )
9032 );
9033 assert_eq!(
9034 unsafe { &(*(::std::ptr::null::<_mjvScene>())).nlight as *const _ as usize },
9035 72usize,
9036 concat!(
9037 "Offset of field: ",
9038 stringify!(_mjvScene),
9039 "::",
9040 stringify!(nlight)
9041 )
9042 );
9043 assert_eq!(
9044 unsafe { &(*(::std::ptr::null::<_mjvScene>())).lights as *const _ as usize },
9045 76usize,
9046 concat!(
9047 "Offset of field: ",
9048 stringify!(_mjvScene),
9049 "::",
9050 stringify!(lights)
9051 )
9052 );
9053 assert_eq!(
9054 unsafe { &(*(::std::ptr::null::<_mjvScene>())).camera as *const _ as usize },
9055 748usize,
9056 concat!(
9057 "Offset of field: ",
9058 stringify!(_mjvScene),
9059 "::",
9060 stringify!(camera)
9061 )
9062 );
9063 assert_eq!(
9064 unsafe {
9065 &(*(::std::ptr::null::<_mjvScene>())).enabletransform as *const _ as usize
9066 },
9067 860usize,
9068 concat!(
9069 "Offset of field: ",
9070 stringify!(_mjvScene),
9071 "::",
9072 stringify!(enabletransform)
9073 )
9074 );
9075 assert_eq!(
9076 unsafe { &(*(::std::ptr::null::<_mjvScene>())).translate as *const _ as usize },
9077 864usize,
9078 concat!(
9079 "Offset of field: ",
9080 stringify!(_mjvScene),
9081 "::",
9082 stringify!(translate)
9083 )
9084 );
9085 assert_eq!(
9086 unsafe { &(*(::std::ptr::null::<_mjvScene>())).rotate as *const _ as usize },
9087 876usize,
9088 concat!(
9089 "Offset of field: ",
9090 stringify!(_mjvScene),
9091 "::",
9092 stringify!(rotate)
9093 )
9094 );
9095 assert_eq!(
9096 unsafe { &(*(::std::ptr::null::<_mjvScene>())).scale as *const _ as usize },
9097 892usize,
9098 concat!(
9099 "Offset of field: ",
9100 stringify!(_mjvScene),
9101 "::",
9102 stringify!(scale)
9103 )
9104 );
9105 assert_eq!(
9106 unsafe { &(*(::std::ptr::null::<_mjvScene>())).stereo as *const _ as usize },
9107 896usize,
9108 concat!(
9109 "Offset of field: ",
9110 stringify!(_mjvScene),
9111 "::",
9112 stringify!(stereo)
9113 )
9114 );
9115 assert_eq!(
9116 unsafe { &(*(::std::ptr::null::<_mjvScene>())).flags as *const _ as usize },
9117 900usize,
9118 concat!(
9119 "Offset of field: ",
9120 stringify!(_mjvScene),
9121 "::",
9122 stringify!(flags)
9123 )
9124 );
9125}
9126impl Default for _mjvScene {
9127 fn default() -> Self {
9128 unsafe { ::std::mem::zeroed() }
9129 }
9130}
9131pub type mjvScene = _mjvScene;
9132#[repr(C)]
9133#[derive(Copy, Clone)]
9134pub struct _mjvFigure {
9135 pub flg_legend: ::std::os::raw::c_int,
9136 pub flg_ticklabel: [::std::os::raw::c_int; 2usize],
9137 pub flg_extend: ::std::os::raw::c_int,
9138 pub flg_barplot: ::std::os::raw::c_int,
9139 pub flg_selection: ::std::os::raw::c_int,
9140 pub flg_symmetric: ::std::os::raw::c_int,
9141 pub legendoff: ::std::os::raw::c_int,
9142 pub gridsize: [::std::os::raw::c_int; 2usize],
9143 pub selection: ::std::os::raw::c_int,
9144 pub highlight: [::std::os::raw::c_int; 2usize],
9145 pub gridrgb: [f32; 3usize],
9146 pub gridwidth: f32,
9147 pub figurergba: [f32; 4usize],
9148 pub panergba: [f32; 4usize],
9149 pub legendrgba: [f32; 4usize],
9150 pub textrgb: [f32; 3usize],
9151 pub range: [[f32; 2usize]; 2usize],
9152 pub xlabel: [::std::os::raw::c_char; 100usize],
9153 pub title: [::std::os::raw::c_char; 100usize],
9154 pub xformat: [::std::os::raw::c_char; 20usize],
9155 pub yformat: [::std::os::raw::c_char; 20usize],
9156 pub minwidth: [::std::os::raw::c_char; 20usize],
9157 pub linepnt: [::std::os::raw::c_int; 100usize],
9158 pub linergb: [[f32; 3usize]; 100usize],
9159 pub linewidth: [f32; 100usize],
9160 pub linedata: [[f32; 2000usize]; 100usize],
9161 pub linename: [[::std::os::raw::c_char; 100usize]; 100usize],
9162 pub xaxispixel: [::std::os::raw::c_int; 2usize],
9163 pub yaxispixel: [::std::os::raw::c_int; 2usize],
9164 pub xaxisdata: [f32; 2usize],
9165 pub yaxisdata: [f32; 2usize],
9166}
9167#[test]
9168fn bindgen_test_layout__mjvFigure() {
9169 assert_eq!(
9170 ::std::mem::size_of::<_mjvFigure>(),
9171 812436usize,
9172 concat!("Size of: ", stringify!(_mjvFigure))
9173 );
9174 assert_eq!(
9175 ::std::mem::align_of::<_mjvFigure>(),
9176 4usize,
9177 concat!("Alignment of ", stringify!(_mjvFigure))
9178 );
9179 assert_eq!(
9180 unsafe {
9181 &(*(::std::ptr::null::<_mjvFigure>())).flg_legend as *const _ as usize
9182 },
9183 0usize,
9184 concat!(
9185 "Offset of field: ",
9186 stringify!(_mjvFigure),
9187 "::",
9188 stringify!(flg_legend)
9189 )
9190 );
9191 assert_eq!(
9192 unsafe {
9193 &(*(::std::ptr::null::<_mjvFigure>())).flg_ticklabel as *const _ as usize
9194 },
9195 4usize,
9196 concat!(
9197 "Offset of field: ",
9198 stringify!(_mjvFigure),
9199 "::",
9200 stringify!(flg_ticklabel)
9201 )
9202 );
9203 assert_eq!(
9204 unsafe {
9205 &(*(::std::ptr::null::<_mjvFigure>())).flg_extend as *const _ as usize
9206 },
9207 12usize,
9208 concat!(
9209 "Offset of field: ",
9210 stringify!(_mjvFigure),
9211 "::",
9212 stringify!(flg_extend)
9213 )
9214 );
9215 assert_eq!(
9216 unsafe {
9217 &(*(::std::ptr::null::<_mjvFigure>())).flg_barplot as *const _ as usize
9218 },
9219 16usize,
9220 concat!(
9221 "Offset of field: ",
9222 stringify!(_mjvFigure),
9223 "::",
9224 stringify!(flg_barplot)
9225 )
9226 );
9227 assert_eq!(
9228 unsafe {
9229 &(*(::std::ptr::null::<_mjvFigure>())).flg_selection as *const _ as usize
9230 },
9231 20usize,
9232 concat!(
9233 "Offset of field: ",
9234 stringify!(_mjvFigure),
9235 "::",
9236 stringify!(flg_selection)
9237 )
9238 );
9239 assert_eq!(
9240 unsafe {
9241 &(*(::std::ptr::null::<_mjvFigure>())).flg_symmetric as *const _ as usize
9242 },
9243 24usize,
9244 concat!(
9245 "Offset of field: ",
9246 stringify!(_mjvFigure),
9247 "::",
9248 stringify!(flg_symmetric)
9249 )
9250 );
9251 assert_eq!(
9252 unsafe {
9253 &(*(::std::ptr::null::<_mjvFigure>())).legendoff as *const _ as usize
9254 },
9255 28usize,
9256 concat!(
9257 "Offset of field: ",
9258 stringify!(_mjvFigure),
9259 "::",
9260 stringify!(legendoff)
9261 )
9262 );
9263 assert_eq!(
9264 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).gridsize as *const _ as usize },
9265 32usize,
9266 concat!(
9267 "Offset of field: ",
9268 stringify!(_mjvFigure),
9269 "::",
9270 stringify!(gridsize)
9271 )
9272 );
9273 assert_eq!(
9274 unsafe {
9275 &(*(::std::ptr::null::<_mjvFigure>())).selection as *const _ as usize
9276 },
9277 40usize,
9278 concat!(
9279 "Offset of field: ",
9280 stringify!(_mjvFigure),
9281 "::",
9282 stringify!(selection)
9283 )
9284 );
9285 assert_eq!(
9286 unsafe {
9287 &(*(::std::ptr::null::<_mjvFigure>())).highlight as *const _ as usize
9288 },
9289 44usize,
9290 concat!(
9291 "Offset of field: ",
9292 stringify!(_mjvFigure),
9293 "::",
9294 stringify!(highlight)
9295 )
9296 );
9297 assert_eq!(
9298 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).gridrgb as *const _ as usize },
9299 52usize,
9300 concat!(
9301 "Offset of field: ",
9302 stringify!(_mjvFigure),
9303 "::",
9304 stringify!(gridrgb)
9305 )
9306 );
9307 assert_eq!(
9308 unsafe {
9309 &(*(::std::ptr::null::<_mjvFigure>())).gridwidth as *const _ as usize
9310 },
9311 64usize,
9312 concat!(
9313 "Offset of field: ",
9314 stringify!(_mjvFigure),
9315 "::",
9316 stringify!(gridwidth)
9317 )
9318 );
9319 assert_eq!(
9320 unsafe {
9321 &(*(::std::ptr::null::<_mjvFigure>())).figurergba as *const _ as usize
9322 },
9323 68usize,
9324 concat!(
9325 "Offset of field: ",
9326 stringify!(_mjvFigure),
9327 "::",
9328 stringify!(figurergba)
9329 )
9330 );
9331 assert_eq!(
9332 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).panergba as *const _ as usize },
9333 84usize,
9334 concat!(
9335 "Offset of field: ",
9336 stringify!(_mjvFigure),
9337 "::",
9338 stringify!(panergba)
9339 )
9340 );
9341 assert_eq!(
9342 unsafe {
9343 &(*(::std::ptr::null::<_mjvFigure>())).legendrgba as *const _ as usize
9344 },
9345 100usize,
9346 concat!(
9347 "Offset of field: ",
9348 stringify!(_mjvFigure),
9349 "::",
9350 stringify!(legendrgba)
9351 )
9352 );
9353 assert_eq!(
9354 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).textrgb as *const _ as usize },
9355 116usize,
9356 concat!(
9357 "Offset of field: ",
9358 stringify!(_mjvFigure),
9359 "::",
9360 stringify!(textrgb)
9361 )
9362 );
9363 assert_eq!(
9364 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).range as *const _ as usize },
9365 128usize,
9366 concat!(
9367 "Offset of field: ",
9368 stringify!(_mjvFigure),
9369 "::",
9370 stringify!(range)
9371 )
9372 );
9373 assert_eq!(
9374 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).xlabel as *const _ as usize },
9375 144usize,
9376 concat!(
9377 "Offset of field: ",
9378 stringify!(_mjvFigure),
9379 "::",
9380 stringify!(xlabel)
9381 )
9382 );
9383 assert_eq!(
9384 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).title as *const _ as usize },
9385 244usize,
9386 concat!(
9387 "Offset of field: ",
9388 stringify!(_mjvFigure),
9389 "::",
9390 stringify!(title)
9391 )
9392 );
9393 assert_eq!(
9394 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).xformat as *const _ as usize },
9395 344usize,
9396 concat!(
9397 "Offset of field: ",
9398 stringify!(_mjvFigure),
9399 "::",
9400 stringify!(xformat)
9401 )
9402 );
9403 assert_eq!(
9404 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).yformat as *const _ as usize },
9405 364usize,
9406 concat!(
9407 "Offset of field: ",
9408 stringify!(_mjvFigure),
9409 "::",
9410 stringify!(yformat)
9411 )
9412 );
9413 assert_eq!(
9414 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).minwidth as *const _ as usize },
9415 384usize,
9416 concat!(
9417 "Offset of field: ",
9418 stringify!(_mjvFigure),
9419 "::",
9420 stringify!(minwidth)
9421 )
9422 );
9423 assert_eq!(
9424 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).linepnt as *const _ as usize },
9425 404usize,
9426 concat!(
9427 "Offset of field: ",
9428 stringify!(_mjvFigure),
9429 "::",
9430 stringify!(linepnt)
9431 )
9432 );
9433 assert_eq!(
9434 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).linergb as *const _ as usize },
9435 804usize,
9436 concat!(
9437 "Offset of field: ",
9438 stringify!(_mjvFigure),
9439 "::",
9440 stringify!(linergb)
9441 )
9442 );
9443 assert_eq!(
9444 unsafe {
9445 &(*(::std::ptr::null::<_mjvFigure>())).linewidth as *const _ as usize
9446 },
9447 2004usize,
9448 concat!(
9449 "Offset of field: ",
9450 stringify!(_mjvFigure),
9451 "::",
9452 stringify!(linewidth)
9453 )
9454 );
9455 assert_eq!(
9456 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).linedata as *const _ as usize },
9457 2404usize,
9458 concat!(
9459 "Offset of field: ",
9460 stringify!(_mjvFigure),
9461 "::",
9462 stringify!(linedata)
9463 )
9464 );
9465 assert_eq!(
9466 unsafe { &(*(::std::ptr::null::<_mjvFigure>())).linename as *const _ as usize },
9467 802404usize,
9468 concat!(
9469 "Offset of field: ",
9470 stringify!(_mjvFigure),
9471 "::",
9472 stringify!(linename)
9473 )
9474 );
9475 assert_eq!(
9476 unsafe {
9477 &(*(::std::ptr::null::<_mjvFigure>())).xaxispixel as *const _ as usize
9478 },
9479 812404usize,
9480 concat!(
9481 "Offset of field: ",
9482 stringify!(_mjvFigure),
9483 "::",
9484 stringify!(xaxispixel)
9485 )
9486 );
9487 assert_eq!(
9488 unsafe {
9489 &(*(::std::ptr::null::<_mjvFigure>())).yaxispixel as *const _ as usize
9490 },
9491 812412usize,
9492 concat!(
9493 "Offset of field: ",
9494 stringify!(_mjvFigure),
9495 "::",
9496 stringify!(yaxispixel)
9497 )
9498 );
9499 assert_eq!(
9500 unsafe {
9501 &(*(::std::ptr::null::<_mjvFigure>())).xaxisdata as *const _ as usize
9502 },
9503 812420usize,
9504 concat!(
9505 "Offset of field: ",
9506 stringify!(_mjvFigure),
9507 "::",
9508 stringify!(xaxisdata)
9509 )
9510 );
9511 assert_eq!(
9512 unsafe {
9513 &(*(::std::ptr::null::<_mjvFigure>())).yaxisdata as *const _ as usize
9514 },
9515 812428usize,
9516 concat!(
9517 "Offset of field: ",
9518 stringify!(_mjvFigure),
9519 "::",
9520 stringify!(yaxisdata)
9521 )
9522 );
9523}
9524impl Default for _mjvFigure {
9525 fn default() -> Self {
9526 unsafe { ::std::mem::zeroed() }
9527 }
9528}
9529pub type mjvFigure = _mjvFigure;
9530#[repr(u32)]
9531#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
9532pub enum _mjtGridPos {
9533 TOPLEFT = 0,
9534 TOPRIGHT = 1,
9535 BOTTOMLEFT = 2,
9536 BOTTOMRIGHT = 3,
9537}
9538pub use self::_mjtGridPos as mjtGridPos;
9539#[repr(u32)]
9540#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
9541pub enum _mjtFramebuffer {
9542 WINDOW = 0,
9543 OFFSCREEN = 1,
9544}
9545pub use self::_mjtFramebuffer as mjtFramebuffer;
9546#[repr(u32)]
9547#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
9548pub enum _mjtFontScale {
9549 SCALE_50 = 50,
9550 SCALE_100 = 100,
9551 SCALE_150 = 150,
9552 SCALE_200 = 200,
9553 SCALE_250 = 250,
9554 SCALE_300 = 300,
9555}
9556pub use self::_mjtFontScale as mjtFontScale;
9557#[repr(u32)]
9558#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
9559pub enum _mjtFont {
9560 NORMAL = 0,
9561 SHADOW = 1,
9562 BIG = 2,
9563}
9564pub use self::_mjtFont as mjtFont;
9565#[repr(C)]
9566#[derive(Debug, Default, Copy, Clone)]
9567pub struct _mjrRect {
9568 pub left: ::std::os::raw::c_int,
9569 pub bottom: ::std::os::raw::c_int,
9570 pub width: ::std::os::raw::c_int,
9571 pub height: ::std::os::raw::c_int,
9572}
9573#[test]
9574fn bindgen_test_layout__mjrRect() {
9575 assert_eq!(
9576 ::std::mem::size_of::<_mjrRect>(),
9577 16usize,
9578 concat!("Size of: ", stringify!(_mjrRect))
9579 );
9580 assert_eq!(
9581 ::std::mem::align_of::<_mjrRect>(),
9582 4usize,
9583 concat!("Alignment of ", stringify!(_mjrRect))
9584 );
9585 assert_eq!(
9586 unsafe { &(*(::std::ptr::null::<_mjrRect>())).left as *const _ as usize },
9587 0usize,
9588 concat!(
9589 "Offset of field: ",
9590 stringify!(_mjrRect),
9591 "::",
9592 stringify!(left)
9593 )
9594 );
9595 assert_eq!(
9596 unsafe { &(*(::std::ptr::null::<_mjrRect>())).bottom as *const _ as usize },
9597 4usize,
9598 concat!(
9599 "Offset of field: ",
9600 stringify!(_mjrRect),
9601 "::",
9602 stringify!(bottom)
9603 )
9604 );
9605 assert_eq!(
9606 unsafe { &(*(::std::ptr::null::<_mjrRect>())).width as *const _ as usize },
9607 8usize,
9608 concat!(
9609 "Offset of field: ",
9610 stringify!(_mjrRect),
9611 "::",
9612 stringify!(width)
9613 )
9614 );
9615 assert_eq!(
9616 unsafe { &(*(::std::ptr::null::<_mjrRect>())).height as *const _ as usize },
9617 12usize,
9618 concat!(
9619 "Offset of field: ",
9620 stringify!(_mjrRect),
9621 "::",
9622 stringify!(height)
9623 )
9624 );
9625}
9626pub type mjrRect = _mjrRect;
9627#[repr(C)]
9628#[derive(Copy, Clone)]
9629pub struct _mjrContext {
9630 pub lineWidth: f32,
9631 pub shadowClip: f32,
9632 pub shadowScale: f32,
9633 pub fogStart: f32,
9634 pub fogEnd: f32,
9635 pub fogRGBA: [f32; 4usize],
9636 pub shadowSize: ::std::os::raw::c_int,
9637 pub offWidth: ::std::os::raw::c_int,
9638 pub offHeight: ::std::os::raw::c_int,
9639 pub offSamples: ::std::os::raw::c_int,
9640 pub fontScale: ::std::os::raw::c_int,
9641 pub auxWidth: [::std::os::raw::c_int; 10usize],
9642 pub auxHeight: [::std::os::raw::c_int; 10usize],
9643 pub auxSamples: [::std::os::raw::c_int; 10usize],
9644 pub offFBO: ::std::os::raw::c_uint,
9645 pub offFBO_r: ::std::os::raw::c_uint,
9646 pub offColor: ::std::os::raw::c_uint,
9647 pub offColor_r: ::std::os::raw::c_uint,
9648 pub offDepthStencil: ::std::os::raw::c_uint,
9649 pub offDepthStencil_r: ::std::os::raw::c_uint,
9650 pub shadowFBO: ::std::os::raw::c_uint,
9651 pub shadowTex: ::std::os::raw::c_uint,
9652 pub auxFBO: [::std::os::raw::c_uint; 10usize],
9653 pub auxFBO_r: [::std::os::raw::c_uint; 10usize],
9654 pub auxColor: [::std::os::raw::c_uint; 10usize],
9655 pub auxColor_r: [::std::os::raw::c_uint; 10usize],
9656 pub ntexture: ::std::os::raw::c_int,
9657 pub textureType: [::std::os::raw::c_int; 100usize],
9658 pub texture: [::std::os::raw::c_uint; 100usize],
9659 pub basePlane: ::std::os::raw::c_uint,
9660 pub baseMesh: ::std::os::raw::c_uint,
9661 pub baseHField: ::std::os::raw::c_uint,
9662 pub baseBuiltin: ::std::os::raw::c_uint,
9663 pub baseFontNormal: ::std::os::raw::c_uint,
9664 pub baseFontShadow: ::std::os::raw::c_uint,
9665 pub baseFontBig: ::std::os::raw::c_uint,
9666 pub rangePlane: ::std::os::raw::c_int,
9667 pub rangeMesh: ::std::os::raw::c_int,
9668 pub rangeHField: ::std::os::raw::c_int,
9669 pub rangeBuiltin: ::std::os::raw::c_int,
9670 pub rangeFont: ::std::os::raw::c_int,
9671 pub nskin: ::std::os::raw::c_int,
9672 pub skinvertVBO: *mut ::std::os::raw::c_uint,
9673 pub skinnormalVBO: *mut ::std::os::raw::c_uint,
9674 pub skintexcoordVBO: *mut ::std::os::raw::c_uint,
9675 pub skinfaceVBO: *mut ::std::os::raw::c_uint,
9676 pub charWidth: [::std::os::raw::c_int; 127usize],
9677 pub charWidthBig: [::std::os::raw::c_int; 127usize],
9678 pub charHeight: ::std::os::raw::c_int,
9679 pub charHeightBig: ::std::os::raw::c_int,
9680 pub glewInitialized: ::std::os::raw::c_int,
9681 pub windowAvailable: ::std::os::raw::c_int,
9682 pub windowSamples: ::std::os::raw::c_int,
9683 pub windowStereo: ::std::os::raw::c_int,
9684 pub windowDoublebuffer: ::std::os::raw::c_int,
9685 pub currentBuffer: ::std::os::raw::c_int,
9686}
9687#[test]
9688fn bindgen_test_layout__mjrContext() {
9689 assert_eq!(
9690 ::std::mem::size_of::<_mjrContext>(),
9691 2304usize,
9692 concat!("Size of: ", stringify!(_mjrContext))
9693 );
9694 assert_eq!(
9695 ::std::mem::align_of::<_mjrContext>(),
9696 8usize,
9697 concat!("Alignment of ", stringify!(_mjrContext))
9698 );
9699 assert_eq!(
9700 unsafe {
9701 &(*(::std::ptr::null::<_mjrContext>())).lineWidth as *const _ as usize
9702 },
9703 0usize,
9704 concat!(
9705 "Offset of field: ",
9706 stringify!(_mjrContext),
9707 "::",
9708 stringify!(lineWidth)
9709 )
9710 );
9711 assert_eq!(
9712 unsafe {
9713 &(*(::std::ptr::null::<_mjrContext>())).shadowClip as *const _ as usize
9714 },
9715 4usize,
9716 concat!(
9717 "Offset of field: ",
9718 stringify!(_mjrContext),
9719 "::",
9720 stringify!(shadowClip)
9721 )
9722 );
9723 assert_eq!(
9724 unsafe {
9725 &(*(::std::ptr::null::<_mjrContext>())).shadowScale as *const _ as usize
9726 },
9727 8usize,
9728 concat!(
9729 "Offset of field: ",
9730 stringify!(_mjrContext),
9731 "::",
9732 stringify!(shadowScale)
9733 )
9734 );
9735 assert_eq!(
9736 unsafe {
9737 &(*(::std::ptr::null::<_mjrContext>())).fogStart as *const _ as usize
9738 },
9739 12usize,
9740 concat!(
9741 "Offset of field: ",
9742 stringify!(_mjrContext),
9743 "::",
9744 stringify!(fogStart)
9745 )
9746 );
9747 assert_eq!(
9748 unsafe { &(*(::std::ptr::null::<_mjrContext>())).fogEnd as *const _ as usize },
9749 16usize,
9750 concat!(
9751 "Offset of field: ",
9752 stringify!(_mjrContext),
9753 "::",
9754 stringify!(fogEnd)
9755 )
9756 );
9757 assert_eq!(
9758 unsafe { &(*(::std::ptr::null::<_mjrContext>())).fogRGBA as *const _ as usize },
9759 20usize,
9760 concat!(
9761 "Offset of field: ",
9762 stringify!(_mjrContext),
9763 "::",
9764 stringify!(fogRGBA)
9765 )
9766 );
9767 assert_eq!(
9768 unsafe {
9769 &(*(::std::ptr::null::<_mjrContext>())).shadowSize as *const _ as usize
9770 },
9771 36usize,
9772 concat!(
9773 "Offset of field: ",
9774 stringify!(_mjrContext),
9775 "::",
9776 stringify!(shadowSize)
9777 )
9778 );
9779 assert_eq!(
9780 unsafe {
9781 &(*(::std::ptr::null::<_mjrContext>())).offWidth as *const _ as usize
9782 },
9783 40usize,
9784 concat!(
9785 "Offset of field: ",
9786 stringify!(_mjrContext),
9787 "::",
9788 stringify!(offWidth)
9789 )
9790 );
9791 assert_eq!(
9792 unsafe {
9793 &(*(::std::ptr::null::<_mjrContext>())).offHeight as *const _ as usize
9794 },
9795 44usize,
9796 concat!(
9797 "Offset of field: ",
9798 stringify!(_mjrContext),
9799 "::",
9800 stringify!(offHeight)
9801 )
9802 );
9803 assert_eq!(
9804 unsafe {
9805 &(*(::std::ptr::null::<_mjrContext>())).offSamples as *const _ as usize
9806 },
9807 48usize,
9808 concat!(
9809 "Offset of field: ",
9810 stringify!(_mjrContext),
9811 "::",
9812 stringify!(offSamples)
9813 )
9814 );
9815 assert_eq!(
9816 unsafe {
9817 &(*(::std::ptr::null::<_mjrContext>())).fontScale as *const _ as usize
9818 },
9819 52usize,
9820 concat!(
9821 "Offset of field: ",
9822 stringify!(_mjrContext),
9823 "::",
9824 stringify!(fontScale)
9825 )
9826 );
9827 assert_eq!(
9828 unsafe {
9829 &(*(::std::ptr::null::<_mjrContext>())).auxWidth as *const _ as usize
9830 },
9831 56usize,
9832 concat!(
9833 "Offset of field: ",
9834 stringify!(_mjrContext),
9835 "::",
9836 stringify!(auxWidth)
9837 )
9838 );
9839 assert_eq!(
9840 unsafe {
9841 &(*(::std::ptr::null::<_mjrContext>())).auxHeight as *const _ as usize
9842 },
9843 96usize,
9844 concat!(
9845 "Offset of field: ",
9846 stringify!(_mjrContext),
9847 "::",
9848 stringify!(auxHeight)
9849 )
9850 );
9851 assert_eq!(
9852 unsafe {
9853 &(*(::std::ptr::null::<_mjrContext>())).auxSamples as *const _ as usize
9854 },
9855 136usize,
9856 concat!(
9857 "Offset of field: ",
9858 stringify!(_mjrContext),
9859 "::",
9860 stringify!(auxSamples)
9861 )
9862 );
9863 assert_eq!(
9864 unsafe { &(*(::std::ptr::null::<_mjrContext>())).offFBO as *const _ as usize },
9865 176usize,
9866 concat!(
9867 "Offset of field: ",
9868 stringify!(_mjrContext),
9869 "::",
9870 stringify!(offFBO)
9871 )
9872 );
9873 assert_eq!(
9874 unsafe {
9875 &(*(::std::ptr::null::<_mjrContext>())).offFBO_r as *const _ as usize
9876 },
9877 180usize,
9878 concat!(
9879 "Offset of field: ",
9880 stringify!(_mjrContext),
9881 "::",
9882 stringify!(offFBO_r)
9883 )
9884 );
9885 assert_eq!(
9886 unsafe {
9887 &(*(::std::ptr::null::<_mjrContext>())).offColor as *const _ as usize
9888 },
9889 184usize,
9890 concat!(
9891 "Offset of field: ",
9892 stringify!(_mjrContext),
9893 "::",
9894 stringify!(offColor)
9895 )
9896 );
9897 assert_eq!(
9898 unsafe {
9899 &(*(::std::ptr::null::<_mjrContext>())).offColor_r as *const _ as usize
9900 },
9901 188usize,
9902 concat!(
9903 "Offset of field: ",
9904 stringify!(_mjrContext),
9905 "::",
9906 stringify!(offColor_r)
9907 )
9908 );
9909 assert_eq!(
9910 unsafe {
9911 &(*(::std::ptr::null::<_mjrContext>())).offDepthStencil as *const _ as usize
9912 },
9913 192usize,
9914 concat!(
9915 "Offset of field: ",
9916 stringify!(_mjrContext),
9917 "::",
9918 stringify!(offDepthStencil)
9919 )
9920 );
9921 assert_eq!(
9922 unsafe {
9923 &(*(::std::ptr::null::<_mjrContext>())).offDepthStencil_r as *const _
9924 as usize
9925 },
9926 196usize,
9927 concat!(
9928 "Offset of field: ",
9929 stringify!(_mjrContext),
9930 "::",
9931 stringify!(offDepthStencil_r)
9932 )
9933 );
9934 assert_eq!(
9935 unsafe {
9936 &(*(::std::ptr::null::<_mjrContext>())).shadowFBO as *const _ as usize
9937 },
9938 200usize,
9939 concat!(
9940 "Offset of field: ",
9941 stringify!(_mjrContext),
9942 "::",
9943 stringify!(shadowFBO)
9944 )
9945 );
9946 assert_eq!(
9947 unsafe {
9948 &(*(::std::ptr::null::<_mjrContext>())).shadowTex as *const _ as usize
9949 },
9950 204usize,
9951 concat!(
9952 "Offset of field: ",
9953 stringify!(_mjrContext),
9954 "::",
9955 stringify!(shadowTex)
9956 )
9957 );
9958 assert_eq!(
9959 unsafe { &(*(::std::ptr::null::<_mjrContext>())).auxFBO as *const _ as usize },
9960 208usize,
9961 concat!(
9962 "Offset of field: ",
9963 stringify!(_mjrContext),
9964 "::",
9965 stringify!(auxFBO)
9966 )
9967 );
9968 assert_eq!(
9969 unsafe {
9970 &(*(::std::ptr::null::<_mjrContext>())).auxFBO_r as *const _ as usize
9971 },
9972 248usize,
9973 concat!(
9974 "Offset of field: ",
9975 stringify!(_mjrContext),
9976 "::",
9977 stringify!(auxFBO_r)
9978 )
9979 );
9980 assert_eq!(
9981 unsafe {
9982 &(*(::std::ptr::null::<_mjrContext>())).auxColor as *const _ as usize
9983 },
9984 288usize,
9985 concat!(
9986 "Offset of field: ",
9987 stringify!(_mjrContext),
9988 "::",
9989 stringify!(auxColor)
9990 )
9991 );
9992 assert_eq!(
9993 unsafe {
9994 &(*(::std::ptr::null::<_mjrContext>())).auxColor_r as *const _ as usize
9995 },
9996 328usize,
9997 concat!(
9998 "Offset of field: ",
9999 stringify!(_mjrContext),
10000 "::",
10001 stringify!(auxColor_r)
10002 )
10003 );
10004 assert_eq!(
10005 unsafe {
10006 &(*(::std::ptr::null::<_mjrContext>())).ntexture as *const _ as usize
10007 },
10008 368usize,
10009 concat!(
10010 "Offset of field: ",
10011 stringify!(_mjrContext),
10012 "::",
10013 stringify!(ntexture)
10014 )
10015 );
10016 assert_eq!(
10017 unsafe {
10018 &(*(::std::ptr::null::<_mjrContext>())).textureType as *const _ as usize
10019 },
10020 372usize,
10021 concat!(
10022 "Offset of field: ",
10023 stringify!(_mjrContext),
10024 "::",
10025 stringify!(textureType)
10026 )
10027 );
10028 assert_eq!(
10029 unsafe { &(*(::std::ptr::null::<_mjrContext>())).texture as *const _ as usize },
10030 772usize,
10031 concat!(
10032 "Offset of field: ",
10033 stringify!(_mjrContext),
10034 "::",
10035 stringify!(texture)
10036 )
10037 );
10038 assert_eq!(
10039 unsafe {
10040 &(*(::std::ptr::null::<_mjrContext>())).basePlane as *const _ as usize
10041 },
10042 1172usize,
10043 concat!(
10044 "Offset of field: ",
10045 stringify!(_mjrContext),
10046 "::",
10047 stringify!(basePlane)
10048 )
10049 );
10050 assert_eq!(
10051 unsafe {
10052 &(*(::std::ptr::null::<_mjrContext>())).baseMesh as *const _ as usize
10053 },
10054 1176usize,
10055 concat!(
10056 "Offset of field: ",
10057 stringify!(_mjrContext),
10058 "::",
10059 stringify!(baseMesh)
10060 )
10061 );
10062 assert_eq!(
10063 unsafe {
10064 &(*(::std::ptr::null::<_mjrContext>())).baseHField as *const _ as usize
10065 },
10066 1180usize,
10067 concat!(
10068 "Offset of field: ",
10069 stringify!(_mjrContext),
10070 "::",
10071 stringify!(baseHField)
10072 )
10073 );
10074 assert_eq!(
10075 unsafe {
10076 &(*(::std::ptr::null::<_mjrContext>())).baseBuiltin as *const _ as usize
10077 },
10078 1184usize,
10079 concat!(
10080 "Offset of field: ",
10081 stringify!(_mjrContext),
10082 "::",
10083 stringify!(baseBuiltin)
10084 )
10085 );
10086 assert_eq!(
10087 unsafe {
10088 &(*(::std::ptr::null::<_mjrContext>())).baseFontNormal as *const _ as usize
10089 },
10090 1188usize,
10091 concat!(
10092 "Offset of field: ",
10093 stringify!(_mjrContext),
10094 "::",
10095 stringify!(baseFontNormal)
10096 )
10097 );
10098 assert_eq!(
10099 unsafe {
10100 &(*(::std::ptr::null::<_mjrContext>())).baseFontShadow as *const _ as usize
10101 },
10102 1192usize,
10103 concat!(
10104 "Offset of field: ",
10105 stringify!(_mjrContext),
10106 "::",
10107 stringify!(baseFontShadow)
10108 )
10109 );
10110 assert_eq!(
10111 unsafe {
10112 &(*(::std::ptr::null::<_mjrContext>())).baseFontBig as *const _ as usize
10113 },
10114 1196usize,
10115 concat!(
10116 "Offset of field: ",
10117 stringify!(_mjrContext),
10118 "::",
10119 stringify!(baseFontBig)
10120 )
10121 );
10122 assert_eq!(
10123 unsafe {
10124 &(*(::std::ptr::null::<_mjrContext>())).rangePlane as *const _ as usize
10125 },
10126 1200usize,
10127 concat!(
10128 "Offset of field: ",
10129 stringify!(_mjrContext),
10130 "::",
10131 stringify!(rangePlane)
10132 )
10133 );
10134 assert_eq!(
10135 unsafe {
10136 &(*(::std::ptr::null::<_mjrContext>())).rangeMesh as *const _ as usize
10137 },
10138 1204usize,
10139 concat!(
10140 "Offset of field: ",
10141 stringify!(_mjrContext),
10142 "::",
10143 stringify!(rangeMesh)
10144 )
10145 );
10146 assert_eq!(
10147 unsafe {
10148 &(*(::std::ptr::null::<_mjrContext>())).rangeHField as *const _ as usize
10149 },
10150 1208usize,
10151 concat!(
10152 "Offset of field: ",
10153 stringify!(_mjrContext),
10154 "::",
10155 stringify!(rangeHField)
10156 )
10157 );
10158 assert_eq!(
10159 unsafe {
10160 &(*(::std::ptr::null::<_mjrContext>())).rangeBuiltin as *const _ as usize
10161 },
10162 1212usize,
10163 concat!(
10164 "Offset of field: ",
10165 stringify!(_mjrContext),
10166 "::",
10167 stringify!(rangeBuiltin)
10168 )
10169 );
10170 assert_eq!(
10171 unsafe {
10172 &(*(::std::ptr::null::<_mjrContext>())).rangeFont as *const _ as usize
10173 },
10174 1216usize,
10175 concat!(
10176 "Offset of field: ",
10177 stringify!(_mjrContext),
10178 "::",
10179 stringify!(rangeFont)
10180 )
10181 );
10182 assert_eq!(
10183 unsafe { &(*(::std::ptr::null::<_mjrContext>())).nskin as *const _ as usize },
10184 1220usize,
10185 concat!(
10186 "Offset of field: ",
10187 stringify!(_mjrContext),
10188 "::",
10189 stringify!(nskin)
10190 )
10191 );
10192 assert_eq!(
10193 unsafe {
10194 &(*(::std::ptr::null::<_mjrContext>())).skinvertVBO as *const _ as usize
10195 },
10196 1224usize,
10197 concat!(
10198 "Offset of field: ",
10199 stringify!(_mjrContext),
10200 "::",
10201 stringify!(skinvertVBO)
10202 )
10203 );
10204 assert_eq!(
10205 unsafe {
10206 &(*(::std::ptr::null::<_mjrContext>())).skinnormalVBO as *const _ as usize
10207 },
10208 1232usize,
10209 concat!(
10210 "Offset of field: ",
10211 stringify!(_mjrContext),
10212 "::",
10213 stringify!(skinnormalVBO)
10214 )
10215 );
10216 assert_eq!(
10217 unsafe {
10218 &(*(::std::ptr::null::<_mjrContext>())).skintexcoordVBO as *const _ as usize
10219 },
10220 1240usize,
10221 concat!(
10222 "Offset of field: ",
10223 stringify!(_mjrContext),
10224 "::",
10225 stringify!(skintexcoordVBO)
10226 )
10227 );
10228 assert_eq!(
10229 unsafe {
10230 &(*(::std::ptr::null::<_mjrContext>())).skinfaceVBO as *const _ as usize
10231 },
10232 1248usize,
10233 concat!(
10234 "Offset of field: ",
10235 stringify!(_mjrContext),
10236 "::",
10237 stringify!(skinfaceVBO)
10238 )
10239 );
10240 assert_eq!(
10241 unsafe {
10242 &(*(::std::ptr::null::<_mjrContext>())).charWidth as *const _ as usize
10243 },
10244 1256usize,
10245 concat!(
10246 "Offset of field: ",
10247 stringify!(_mjrContext),
10248 "::",
10249 stringify!(charWidth)
10250 )
10251 );
10252 assert_eq!(
10253 unsafe {
10254 &(*(::std::ptr::null::<_mjrContext>())).charWidthBig as *const _ as usize
10255 },
10256 1764usize,
10257 concat!(
10258 "Offset of field: ",
10259 stringify!(_mjrContext),
10260 "::",
10261 stringify!(charWidthBig)
10262 )
10263 );
10264 assert_eq!(
10265 unsafe {
10266 &(*(::std::ptr::null::<_mjrContext>())).charHeight as *const _ as usize
10267 },
10268 2272usize,
10269 concat!(
10270 "Offset of field: ",
10271 stringify!(_mjrContext),
10272 "::",
10273 stringify!(charHeight)
10274 )
10275 );
10276 assert_eq!(
10277 unsafe {
10278 &(*(::std::ptr::null::<_mjrContext>())).charHeightBig as *const _ as usize
10279 },
10280 2276usize,
10281 concat!(
10282 "Offset of field: ",
10283 stringify!(_mjrContext),
10284 "::",
10285 stringify!(charHeightBig)
10286 )
10287 );
10288 assert_eq!(
10289 unsafe {
10290 &(*(::std::ptr::null::<_mjrContext>())).glewInitialized as *const _ as usize
10291 },
10292 2280usize,
10293 concat!(
10294 "Offset of field: ",
10295 stringify!(_mjrContext),
10296 "::",
10297 stringify!(glewInitialized)
10298 )
10299 );
10300 assert_eq!(
10301 unsafe {
10302 &(*(::std::ptr::null::<_mjrContext>())).windowAvailable as *const _ as usize
10303 },
10304 2284usize,
10305 concat!(
10306 "Offset of field: ",
10307 stringify!(_mjrContext),
10308 "::",
10309 stringify!(windowAvailable)
10310 )
10311 );
10312 assert_eq!(
10313 unsafe {
10314 &(*(::std::ptr::null::<_mjrContext>())).windowSamples as *const _ as usize
10315 },
10316 2288usize,
10317 concat!(
10318 "Offset of field: ",
10319 stringify!(_mjrContext),
10320 "::",
10321 stringify!(windowSamples)
10322 )
10323 );
10324 assert_eq!(
10325 unsafe {
10326 &(*(::std::ptr::null::<_mjrContext>())).windowStereo as *const _ as usize
10327 },
10328 2292usize,
10329 concat!(
10330 "Offset of field: ",
10331 stringify!(_mjrContext),
10332 "::",
10333 stringify!(windowStereo)
10334 )
10335 );
10336 assert_eq!(
10337 unsafe {
10338 &(*(::std::ptr::null::<_mjrContext>())).windowDoublebuffer as *const _
10339 as usize
10340 },
10341 2296usize,
10342 concat!(
10343 "Offset of field: ",
10344 stringify!(_mjrContext),
10345 "::",
10346 stringify!(windowDoublebuffer)
10347 )
10348 );
10349 assert_eq!(
10350 unsafe {
10351 &(*(::std::ptr::null::<_mjrContext>())).currentBuffer as *const _ as usize
10352 },
10353 2300usize,
10354 concat!(
10355 "Offset of field: ",
10356 stringify!(_mjrContext),
10357 "::",
10358 stringify!(currentBuffer)
10359 )
10360 );
10361}
10362impl Default for _mjrContext {
10363 fn default() -> Self {
10364 unsafe { ::std::mem::zeroed() }
10365 }
10366}
10367pub type mjrContext = _mjrContext;
10368#[repr(u32)]
10369#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
10370pub enum _mjtButton {
10371 NONE = 0,
10372 LEFT = 1,
10373 RIGHT = 2,
10374 MIDDLE = 3,
10375}
10376pub use self::_mjtButton as mjtButton;
10377#[repr(u32)]
10378#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
10379pub enum _mjtEvent {
10380 NONE = 0,
10381 MOVE = 1,
10382 PRESS = 2,
10383 RELEASE = 3,
10384 SCROLL = 4,
10385 KEY = 5,
10386 RESIZE = 6,
10387}
10388pub use self::_mjtEvent as mjtEvent;
10389#[repr(i32)]
10390#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
10391pub enum _mjtItem {
10392 END = -2,
10393 SECTION = -1,
10394 SEPARATOR = 0,
10395 STATIC = 1,
10396 BUTTON = 2,
10397 CHECKINT = 3,
10398 CHECKBYTE = 4,
10399 RADIO = 5,
10400 SELECT = 6,
10401 SLIDERINT = 7,
10402 SLIDERNUM = 8,
10403 EDITINT = 9,
10404 EDITNUM = 10,
10405 EDITTXT = 11,
10406 mjNITEM = 12,
10407}
10408pub use self::_mjtItem as mjtItem;
10409pub type mjfItemEnable = ::std::option::Option<
10410 unsafe extern "C" fn(
10411 category: ::std::os::raw::c_int,
10412 data: *mut ::std::os::raw::c_void,
10413 ) -> ::std::os::raw::c_int,
10414>;
10415#[repr(C)]
10416#[derive(Debug, Copy, Clone)]
10417pub struct _mjuiState {
10418 pub nrect: ::std::os::raw::c_int,
10419 pub rect: [mjrRect; 15usize],
10420 pub userdata: *mut ::std::os::raw::c_void,
10421 pub type_: ::std::os::raw::c_int,
10422 pub left: ::std::os::raw::c_int,
10423 pub right: ::std::os::raw::c_int,
10424 pub middle: ::std::os::raw::c_int,
10425 pub doubleclick: ::std::os::raw::c_int,
10426 pub button: ::std::os::raw::c_int,
10427 pub buttontime: f64,
10428 pub x: f64,
10429 pub y: f64,
10430 pub dx: f64,
10431 pub dy: f64,
10432 pub sx: f64,
10433 pub sy: f64,
10434 pub control: ::std::os::raw::c_int,
10435 pub shift: ::std::os::raw::c_int,
10436 pub alt: ::std::os::raw::c_int,
10437 pub key: ::std::os::raw::c_int,
10438 pub keytime: f64,
10439 pub mouserect: ::std::os::raw::c_int,
10440 pub dragrect: ::std::os::raw::c_int,
10441 pub dragbutton: ::std::os::raw::c_int,
10442}
10443#[test]
10444fn bindgen_test_layout__mjuiState() {
10445 assert_eq!(
10446 ::std::mem::size_of::<_mjuiState>(),
10447 376usize,
10448 concat!("Size of: ", stringify!(_mjuiState))
10449 );
10450 assert_eq!(
10451 ::std::mem::align_of::<_mjuiState>(),
10452 8usize,
10453 concat!("Alignment of ", stringify!(_mjuiState))
10454 );
10455 assert_eq!(
10456 unsafe { &(*(::std::ptr::null::<_mjuiState>())).nrect as *const _ as usize },
10457 0usize,
10458 concat!(
10459 "Offset of field: ",
10460 stringify!(_mjuiState),
10461 "::",
10462 stringify!(nrect)
10463 )
10464 );
10465 assert_eq!(
10466 unsafe { &(*(::std::ptr::null::<_mjuiState>())).rect as *const _ as usize },
10467 4usize,
10468 concat!(
10469 "Offset of field: ",
10470 stringify!(_mjuiState),
10471 "::",
10472 stringify!(rect)
10473 )
10474 );
10475 assert_eq!(
10476 unsafe { &(*(::std::ptr::null::<_mjuiState>())).userdata as *const _ as usize },
10477 248usize,
10478 concat!(
10479 "Offset of field: ",
10480 stringify!(_mjuiState),
10481 "::",
10482 stringify!(userdata)
10483 )
10484 );
10485 assert_eq!(
10486 unsafe { &(*(::std::ptr::null::<_mjuiState>())).type_ as *const _ as usize },
10487 256usize,
10488 concat!(
10489 "Offset of field: ",
10490 stringify!(_mjuiState),
10491 "::",
10492 stringify!(type_)
10493 )
10494 );
10495 assert_eq!(
10496 unsafe { &(*(::std::ptr::null::<_mjuiState>())).left as *const _ as usize },
10497 260usize,
10498 concat!(
10499 "Offset of field: ",
10500 stringify!(_mjuiState),
10501 "::",
10502 stringify!(left)
10503 )
10504 );
10505 assert_eq!(
10506 unsafe { &(*(::std::ptr::null::<_mjuiState>())).right as *const _ as usize },
10507 264usize,
10508 concat!(
10509 "Offset of field: ",
10510 stringify!(_mjuiState),
10511 "::",
10512 stringify!(right)
10513 )
10514 );
10515 assert_eq!(
10516 unsafe { &(*(::std::ptr::null::<_mjuiState>())).middle as *const _ as usize },
10517 268usize,
10518 concat!(
10519 "Offset of field: ",
10520 stringify!(_mjuiState),
10521 "::",
10522 stringify!(middle)
10523 )
10524 );
10525 assert_eq!(
10526 unsafe {
10527 &(*(::std::ptr::null::<_mjuiState>())).doubleclick as *const _ as usize
10528 },
10529 272usize,
10530 concat!(
10531 "Offset of field: ",
10532 stringify!(_mjuiState),
10533 "::",
10534 stringify!(doubleclick)
10535 )
10536 );
10537 assert_eq!(
10538 unsafe { &(*(::std::ptr::null::<_mjuiState>())).button as *const _ as usize },
10539 276usize,
10540 concat!(
10541 "Offset of field: ",
10542 stringify!(_mjuiState),
10543 "::",
10544 stringify!(button)
10545 )
10546 );
10547 assert_eq!(
10548 unsafe {
10549 &(*(::std::ptr::null::<_mjuiState>())).buttontime as *const _ as usize
10550 },
10551 280usize,
10552 concat!(
10553 "Offset of field: ",
10554 stringify!(_mjuiState),
10555 "::",
10556 stringify!(buttontime)
10557 )
10558 );
10559 assert_eq!(
10560 unsafe { &(*(::std::ptr::null::<_mjuiState>())).x as *const _ as usize },
10561 288usize,
10562 concat!(
10563 "Offset of field: ",
10564 stringify!(_mjuiState),
10565 "::",
10566 stringify!(x)
10567 )
10568 );
10569 assert_eq!(
10570 unsafe { &(*(::std::ptr::null::<_mjuiState>())).y as *const _ as usize },
10571 296usize,
10572 concat!(
10573 "Offset of field: ",
10574 stringify!(_mjuiState),
10575 "::",
10576 stringify!(y)
10577 )
10578 );
10579 assert_eq!(
10580 unsafe { &(*(::std::ptr::null::<_mjuiState>())).dx as *const _ as usize },
10581 304usize,
10582 concat!(
10583 "Offset of field: ",
10584 stringify!(_mjuiState),
10585 "::",
10586 stringify!(dx)
10587 )
10588 );
10589 assert_eq!(
10590 unsafe { &(*(::std::ptr::null::<_mjuiState>())).dy as *const _ as usize },
10591 312usize,
10592 concat!(
10593 "Offset of field: ",
10594 stringify!(_mjuiState),
10595 "::",
10596 stringify!(dy)
10597 )
10598 );
10599 assert_eq!(
10600 unsafe { &(*(::std::ptr::null::<_mjuiState>())).sx as *const _ as usize },
10601 320usize,
10602 concat!(
10603 "Offset of field: ",
10604 stringify!(_mjuiState),
10605 "::",
10606 stringify!(sx)
10607 )
10608 );
10609 assert_eq!(
10610 unsafe { &(*(::std::ptr::null::<_mjuiState>())).sy as *const _ as usize },
10611 328usize,
10612 concat!(
10613 "Offset of field: ",
10614 stringify!(_mjuiState),
10615 "::",
10616 stringify!(sy)
10617 )
10618 );
10619 assert_eq!(
10620 unsafe { &(*(::std::ptr::null::<_mjuiState>())).control as *const _ as usize },
10621 336usize,
10622 concat!(
10623 "Offset of field: ",
10624 stringify!(_mjuiState),
10625 "::",
10626 stringify!(control)
10627 )
10628 );
10629 assert_eq!(
10630 unsafe { &(*(::std::ptr::null::<_mjuiState>())).shift as *const _ as usize },
10631 340usize,
10632 concat!(
10633 "Offset of field: ",
10634 stringify!(_mjuiState),
10635 "::",
10636 stringify!(shift)
10637 )
10638 );
10639 assert_eq!(
10640 unsafe { &(*(::std::ptr::null::<_mjuiState>())).alt as *const _ as usize },
10641 344usize,
10642 concat!(
10643 "Offset of field: ",
10644 stringify!(_mjuiState),
10645 "::",
10646 stringify!(alt)
10647 )
10648 );
10649 assert_eq!(
10650 unsafe { &(*(::std::ptr::null::<_mjuiState>())).key as *const _ as usize },
10651 348usize,
10652 concat!(
10653 "Offset of field: ",
10654 stringify!(_mjuiState),
10655 "::",
10656 stringify!(key)
10657 )
10658 );
10659 assert_eq!(
10660 unsafe { &(*(::std::ptr::null::<_mjuiState>())).keytime as *const _ as usize },
10661 352usize,
10662 concat!(
10663 "Offset of field: ",
10664 stringify!(_mjuiState),
10665 "::",
10666 stringify!(keytime)
10667 )
10668 );
10669 assert_eq!(
10670 unsafe {
10671 &(*(::std::ptr::null::<_mjuiState>())).mouserect as *const _ as usize
10672 },
10673 360usize,
10674 concat!(
10675 "Offset of field: ",
10676 stringify!(_mjuiState),
10677 "::",
10678 stringify!(mouserect)
10679 )
10680 );
10681 assert_eq!(
10682 unsafe { &(*(::std::ptr::null::<_mjuiState>())).dragrect as *const _ as usize },
10683 364usize,
10684 concat!(
10685 "Offset of field: ",
10686 stringify!(_mjuiState),
10687 "::",
10688 stringify!(dragrect)
10689 )
10690 );
10691 assert_eq!(
10692 unsafe {
10693 &(*(::std::ptr::null::<_mjuiState>())).dragbutton as *const _ as usize
10694 },
10695 368usize,
10696 concat!(
10697 "Offset of field: ",
10698 stringify!(_mjuiState),
10699 "::",
10700 stringify!(dragbutton)
10701 )
10702 );
10703}
10704impl Default for _mjuiState {
10705 fn default() -> Self {
10706 unsafe { ::std::mem::zeroed() }
10707 }
10708}
10709pub type mjuiState = _mjuiState;
10710#[repr(C)]
10711#[derive(Debug, Default, Copy, Clone)]
10712pub struct _mjuiThemeSpacing {
10713 pub total: ::std::os::raw::c_int,
10714 pub scroll: ::std::os::raw::c_int,
10715 pub label: ::std::os::raw::c_int,
10716 pub section: ::std::os::raw::c_int,
10717 pub itemside: ::std::os::raw::c_int,
10718 pub itemmid: ::std::os::raw::c_int,
10719 pub itemver: ::std::os::raw::c_int,
10720 pub texthor: ::std::os::raw::c_int,
10721 pub textver: ::std::os::raw::c_int,
10722 pub linescroll: ::std::os::raw::c_int,
10723 pub samples: ::std::os::raw::c_int,
10724}
10725#[test]
10726fn bindgen_test_layout__mjuiThemeSpacing() {
10727 assert_eq!(
10728 ::std::mem::size_of::<_mjuiThemeSpacing>(),
10729 44usize,
10730 concat!("Size of: ", stringify!(_mjuiThemeSpacing))
10731 );
10732 assert_eq!(
10733 ::std::mem::align_of::<_mjuiThemeSpacing>(),
10734 4usize,
10735 concat!("Alignment of ", stringify!(_mjuiThemeSpacing))
10736 );
10737 assert_eq!(
10738 unsafe {
10739 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).total as *const _ as usize
10740 },
10741 0usize,
10742 concat!(
10743 "Offset of field: ",
10744 stringify!(_mjuiThemeSpacing),
10745 "::",
10746 stringify!(total)
10747 )
10748 );
10749 assert_eq!(
10750 unsafe {
10751 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).scroll as *const _ as usize
10752 },
10753 4usize,
10754 concat!(
10755 "Offset of field: ",
10756 stringify!(_mjuiThemeSpacing),
10757 "::",
10758 stringify!(scroll)
10759 )
10760 );
10761 assert_eq!(
10762 unsafe {
10763 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).label as *const _ as usize
10764 },
10765 8usize,
10766 concat!(
10767 "Offset of field: ",
10768 stringify!(_mjuiThemeSpacing),
10769 "::",
10770 stringify!(label)
10771 )
10772 );
10773 assert_eq!(
10774 unsafe {
10775 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).section as *const _ as usize
10776 },
10777 12usize,
10778 concat!(
10779 "Offset of field: ",
10780 stringify!(_mjuiThemeSpacing),
10781 "::",
10782 stringify!(section)
10783 )
10784 );
10785 assert_eq!(
10786 unsafe {
10787 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).itemside as *const _ as usize
10788 },
10789 16usize,
10790 concat!(
10791 "Offset of field: ",
10792 stringify!(_mjuiThemeSpacing),
10793 "::",
10794 stringify!(itemside)
10795 )
10796 );
10797 assert_eq!(
10798 unsafe {
10799 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).itemmid as *const _ as usize
10800 },
10801 20usize,
10802 concat!(
10803 "Offset of field: ",
10804 stringify!(_mjuiThemeSpacing),
10805 "::",
10806 stringify!(itemmid)
10807 )
10808 );
10809 assert_eq!(
10810 unsafe {
10811 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).itemver as *const _ as usize
10812 },
10813 24usize,
10814 concat!(
10815 "Offset of field: ",
10816 stringify!(_mjuiThemeSpacing),
10817 "::",
10818 stringify!(itemver)
10819 )
10820 );
10821 assert_eq!(
10822 unsafe {
10823 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).texthor as *const _ as usize
10824 },
10825 28usize,
10826 concat!(
10827 "Offset of field: ",
10828 stringify!(_mjuiThemeSpacing),
10829 "::",
10830 stringify!(texthor)
10831 )
10832 );
10833 assert_eq!(
10834 unsafe {
10835 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).textver as *const _ as usize
10836 },
10837 32usize,
10838 concat!(
10839 "Offset of field: ",
10840 stringify!(_mjuiThemeSpacing),
10841 "::",
10842 stringify!(textver)
10843 )
10844 );
10845 assert_eq!(
10846 unsafe {
10847 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).linescroll as *const _
10848 as usize
10849 },
10850 36usize,
10851 concat!(
10852 "Offset of field: ",
10853 stringify!(_mjuiThemeSpacing),
10854 "::",
10855 stringify!(linescroll)
10856 )
10857 );
10858 assert_eq!(
10859 unsafe {
10860 &(*(::std::ptr::null::<_mjuiThemeSpacing>())).samples as *const _ as usize
10861 },
10862 40usize,
10863 concat!(
10864 "Offset of field: ",
10865 stringify!(_mjuiThemeSpacing),
10866 "::",
10867 stringify!(samples)
10868 )
10869 );
10870}
10871pub type mjuiThemeSpacing = _mjuiThemeSpacing;
10872#[repr(C)]
10873#[derive(Debug, Default, Copy, Clone)]
10874pub struct _mjuiThemeColor {
10875 pub master: [f32; 3usize],
10876 pub thumb: [f32; 3usize],
10877 pub secttitle: [f32; 3usize],
10878 pub sectfont: [f32; 3usize],
10879 pub sectsymbol: [f32; 3usize],
10880 pub sectpane: [f32; 3usize],
10881 pub shortcut: [f32; 3usize],
10882 pub fontactive: [f32; 3usize],
10883 pub fontinactive: [f32; 3usize],
10884 pub decorinactive: [f32; 3usize],
10885 pub decorinactive2: [f32; 3usize],
10886 pub button: [f32; 3usize],
10887 pub check: [f32; 3usize],
10888 pub radio: [f32; 3usize],
10889 pub select: [f32; 3usize],
10890 pub select2: [f32; 3usize],
10891 pub slider: [f32; 3usize],
10892 pub slider2: [f32; 3usize],
10893 pub edit: [f32; 3usize],
10894 pub edit2: [f32; 3usize],
10895 pub cursor: [f32; 3usize],
10896}
10897#[test]
10898fn bindgen_test_layout__mjuiThemeColor() {
10899 assert_eq!(
10900 ::std::mem::size_of::<_mjuiThemeColor>(),
10901 252usize,
10902 concat!("Size of: ", stringify!(_mjuiThemeColor))
10903 );
10904 assert_eq!(
10905 ::std::mem::align_of::<_mjuiThemeColor>(),
10906 4usize,
10907 concat!("Alignment of ", stringify!(_mjuiThemeColor))
10908 );
10909 assert_eq!(
10910 unsafe {
10911 &(*(::std::ptr::null::<_mjuiThemeColor>())).master as *const _ as usize
10912 },
10913 0usize,
10914 concat!(
10915 "Offset of field: ",
10916 stringify!(_mjuiThemeColor),
10917 "::",
10918 stringify!(master)
10919 )
10920 );
10921 assert_eq!(
10922 unsafe {
10923 &(*(::std::ptr::null::<_mjuiThemeColor>())).thumb as *const _ as usize
10924 },
10925 12usize,
10926 concat!(
10927 "Offset of field: ",
10928 stringify!(_mjuiThemeColor),
10929 "::",
10930 stringify!(thumb)
10931 )
10932 );
10933 assert_eq!(
10934 unsafe {
10935 &(*(::std::ptr::null::<_mjuiThemeColor>())).secttitle as *const _ as usize
10936 },
10937 24usize,
10938 concat!(
10939 "Offset of field: ",
10940 stringify!(_mjuiThemeColor),
10941 "::",
10942 stringify!(secttitle)
10943 )
10944 );
10945 assert_eq!(
10946 unsafe {
10947 &(*(::std::ptr::null::<_mjuiThemeColor>())).sectfont as *const _ as usize
10948 },
10949 36usize,
10950 concat!(
10951 "Offset of field: ",
10952 stringify!(_mjuiThemeColor),
10953 "::",
10954 stringify!(sectfont)
10955 )
10956 );
10957 assert_eq!(
10958 unsafe {
10959 &(*(::std::ptr::null::<_mjuiThemeColor>())).sectsymbol as *const _ as usize
10960 },
10961 48usize,
10962 concat!(
10963 "Offset of field: ",
10964 stringify!(_mjuiThemeColor),
10965 "::",
10966 stringify!(sectsymbol)
10967 )
10968 );
10969 assert_eq!(
10970 unsafe {
10971 &(*(::std::ptr::null::<_mjuiThemeColor>())).sectpane as *const _ as usize
10972 },
10973 60usize,
10974 concat!(
10975 "Offset of field: ",
10976 stringify!(_mjuiThemeColor),
10977 "::",
10978 stringify!(sectpane)
10979 )
10980 );
10981 assert_eq!(
10982 unsafe {
10983 &(*(::std::ptr::null::<_mjuiThemeColor>())).shortcut as *const _ as usize
10984 },
10985 72usize,
10986 concat!(
10987 "Offset of field: ",
10988 stringify!(_mjuiThemeColor),
10989 "::",
10990 stringify!(shortcut)
10991 )
10992 );
10993 assert_eq!(
10994 unsafe {
10995 &(*(::std::ptr::null::<_mjuiThemeColor>())).fontactive as *const _ as usize
10996 },
10997 84usize,
10998 concat!(
10999 "Offset of field: ",
11000 stringify!(_mjuiThemeColor),
11001 "::",
11002 stringify!(fontactive)
11003 )
11004 );
11005 assert_eq!(
11006 unsafe {
11007 &(*(::std::ptr::null::<_mjuiThemeColor>())).fontinactive as *const _
11008 as usize
11009 },
11010 96usize,
11011 concat!(
11012 "Offset of field: ",
11013 stringify!(_mjuiThemeColor),
11014 "::",
11015 stringify!(fontinactive)
11016 )
11017 );
11018 assert_eq!(
11019 unsafe {
11020 &(*(::std::ptr::null::<_mjuiThemeColor>())).decorinactive as *const _
11021 as usize
11022 },
11023 108usize,
11024 concat!(
11025 "Offset of field: ",
11026 stringify!(_mjuiThemeColor),
11027 "::",
11028 stringify!(decorinactive)
11029 )
11030 );
11031 assert_eq!(
11032 unsafe {
11033 &(*(::std::ptr::null::<_mjuiThemeColor>())).decorinactive2 as *const _
11034 as usize
11035 },
11036 120usize,
11037 concat!(
11038 "Offset of field: ",
11039 stringify!(_mjuiThemeColor),
11040 "::",
11041 stringify!(decorinactive2)
11042 )
11043 );
11044 assert_eq!(
11045 unsafe {
11046 &(*(::std::ptr::null::<_mjuiThemeColor>())).button as *const _ as usize
11047 },
11048 132usize,
11049 concat!(
11050 "Offset of field: ",
11051 stringify!(_mjuiThemeColor),
11052 "::",
11053 stringify!(button)
11054 )
11055 );
11056 assert_eq!(
11057 unsafe {
11058 &(*(::std::ptr::null::<_mjuiThemeColor>())).check as *const _ as usize
11059 },
11060 144usize,
11061 concat!(
11062 "Offset of field: ",
11063 stringify!(_mjuiThemeColor),
11064 "::",
11065 stringify!(check)
11066 )
11067 );
11068 assert_eq!(
11069 unsafe {
11070 &(*(::std::ptr::null::<_mjuiThemeColor>())).radio as *const _ as usize
11071 },
11072 156usize,
11073 concat!(
11074 "Offset of field: ",
11075 stringify!(_mjuiThemeColor),
11076 "::",
11077 stringify!(radio)
11078 )
11079 );
11080 assert_eq!(
11081 unsafe {
11082 &(*(::std::ptr::null::<_mjuiThemeColor>())).select as *const _ as usize
11083 },
11084 168usize,
11085 concat!(
11086 "Offset of field: ",
11087 stringify!(_mjuiThemeColor),
11088 "::",
11089 stringify!(select)
11090 )
11091 );
11092 assert_eq!(
11093 unsafe {
11094 &(*(::std::ptr::null::<_mjuiThemeColor>())).select2 as *const _ as usize
11095 },
11096 180usize,
11097 concat!(
11098 "Offset of field: ",
11099 stringify!(_mjuiThemeColor),
11100 "::",
11101 stringify!(select2)
11102 )
11103 );
11104 assert_eq!(
11105 unsafe {
11106 &(*(::std::ptr::null::<_mjuiThemeColor>())).slider as *const _ as usize
11107 },
11108 192usize,
11109 concat!(
11110 "Offset of field: ",
11111 stringify!(_mjuiThemeColor),
11112 "::",
11113 stringify!(slider)
11114 )
11115 );
11116 assert_eq!(
11117 unsafe {
11118 &(*(::std::ptr::null::<_mjuiThemeColor>())).slider2 as *const _ as usize
11119 },
11120 204usize,
11121 concat!(
11122 "Offset of field: ",
11123 stringify!(_mjuiThemeColor),
11124 "::",
11125 stringify!(slider2)
11126 )
11127 );
11128 assert_eq!(
11129 unsafe {
11130 &(*(::std::ptr::null::<_mjuiThemeColor>())).edit as *const _ as usize
11131 },
11132 216usize,
11133 concat!(
11134 "Offset of field: ",
11135 stringify!(_mjuiThemeColor),
11136 "::",
11137 stringify!(edit)
11138 )
11139 );
11140 assert_eq!(
11141 unsafe {
11142 &(*(::std::ptr::null::<_mjuiThemeColor>())).edit2 as *const _ as usize
11143 },
11144 228usize,
11145 concat!(
11146 "Offset of field: ",
11147 stringify!(_mjuiThemeColor),
11148 "::",
11149 stringify!(edit2)
11150 )
11151 );
11152 assert_eq!(
11153 unsafe {
11154 &(*(::std::ptr::null::<_mjuiThemeColor>())).cursor as *const _ as usize
11155 },
11156 240usize,
11157 concat!(
11158 "Offset of field: ",
11159 stringify!(_mjuiThemeColor),
11160 "::",
11161 stringify!(cursor)
11162 )
11163 );
11164}
11165pub type mjuiThemeColor = _mjuiThemeColor;
11166#[repr(C)]
11167#[derive(Copy, Clone)]
11168pub struct _mjuiItem {
11169 pub type_: ::std::os::raw::c_int,
11170 pub name: [::std::os::raw::c_char; 40usize],
11171 pub state: ::std::os::raw::c_int,
11172 pub pdata: *mut ::std::os::raw::c_void,
11173 pub sectionid: ::std::os::raw::c_int,
11174 pub itemid: ::std::os::raw::c_int,
11175 pub __bindgen_anon_1: _mjuiItem__bindgen_ty_1,
11176 pub rect: mjrRect,
11177}
11178#[repr(C)]
11179#[derive(Copy, Clone)]
11180pub union _mjuiItem__bindgen_ty_1 {
11181 pub single: _mjuiItem__bindgen_ty_1__bindgen_ty_1,
11182 pub multi: _mjuiItem__bindgen_ty_1__bindgen_ty_2,
11183 pub slider: _mjuiItem__bindgen_ty_1__bindgen_ty_3,
11184 pub edit: _mjuiItem__bindgen_ty_1__bindgen_ty_4,
11185 _bindgen_union_align: [u64; 101usize],
11186}
11187#[repr(C)]
11188#[derive(Debug, Default, Copy, Clone)]
11189pub struct _mjuiItem__bindgen_ty_1__bindgen_ty_1 {
11190 pub modifier: ::std::os::raw::c_int,
11191 pub shortcut: ::std::os::raw::c_int,
11192}
11193#[test]
11194fn bindgen_test_layout__mjuiItem__bindgen_ty_1__bindgen_ty_1() {
11195 assert_eq!(
11196 ::std::mem::size_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_1>(),
11197 8usize,
11198 concat!(
11199 "Size of: ",
11200 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_1)
11201 )
11202 );
11203 assert_eq!(
11204 ::std::mem::align_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_1>(),
11205 4usize,
11206 concat!(
11207 "Alignment of ",
11208 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_1)
11209 )
11210 );
11211 assert_eq!(
11212 unsafe {
11213 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_1>())).modifier
11214 as *const _ as usize
11215 },
11216 0usize,
11217 concat!(
11218 "Offset of field: ",
11219 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_1),
11220 "::",
11221 stringify!(modifier)
11222 )
11223 );
11224 assert_eq!(
11225 unsafe {
11226 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_1>())).shortcut
11227 as *const _ as usize
11228 },
11229 4usize,
11230 concat!(
11231 "Offset of field: ",
11232 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_1),
11233 "::",
11234 stringify!(shortcut)
11235 )
11236 );
11237}
11238#[repr(C)]
11239#[derive(Copy, Clone)]
11240pub struct _mjuiItem__bindgen_ty_1__bindgen_ty_2 {
11241 pub nelem: ::std::os::raw::c_int,
11242 pub name: [[::std::os::raw::c_char; 40usize]; 20usize],
11243}
11244#[test]
11245fn bindgen_test_layout__mjuiItem__bindgen_ty_1__bindgen_ty_2() {
11246 assert_eq!(
11247 ::std::mem::size_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_2>(),
11248 804usize,
11249 concat!(
11250 "Size of: ",
11251 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_2)
11252 )
11253 );
11254 assert_eq!(
11255 ::std::mem::align_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_2>(),
11256 4usize,
11257 concat!(
11258 "Alignment of ",
11259 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_2)
11260 )
11261 );
11262 assert_eq!(
11263 unsafe {
11264 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_2>())).nelem
11265 as *const _ as usize
11266 },
11267 0usize,
11268 concat!(
11269 "Offset of field: ",
11270 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_2),
11271 "::",
11272 stringify!(nelem)
11273 )
11274 );
11275 assert_eq!(
11276 unsafe {
11277 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_2>())).name
11278 as *const _ as usize
11279 },
11280 4usize,
11281 concat!(
11282 "Offset of field: ",
11283 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_2),
11284 "::",
11285 stringify!(name)
11286 )
11287 );
11288}
11289impl Default for _mjuiItem__bindgen_ty_1__bindgen_ty_2 {
11290 fn default() -> Self {
11291 unsafe { ::std::mem::zeroed() }
11292 }
11293}
11294#[repr(C)]
11295#[derive(Debug, Default, Copy, Clone)]
11296pub struct _mjuiItem__bindgen_ty_1__bindgen_ty_3 {
11297 pub range: [f64; 2usize],
11298 pub divisions: f64,
11299}
11300#[test]
11301fn bindgen_test_layout__mjuiItem__bindgen_ty_1__bindgen_ty_3() {
11302 assert_eq!(
11303 ::std::mem::size_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_3>(),
11304 24usize,
11305 concat!(
11306 "Size of: ",
11307 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_3)
11308 )
11309 );
11310 assert_eq!(
11311 ::std::mem::align_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_3>(),
11312 8usize,
11313 concat!(
11314 "Alignment of ",
11315 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_3)
11316 )
11317 );
11318 assert_eq!(
11319 unsafe {
11320 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_3>())).range
11321 as *const _ as usize
11322 },
11323 0usize,
11324 concat!(
11325 "Offset of field: ",
11326 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_3),
11327 "::",
11328 stringify!(range)
11329 )
11330 );
11331 assert_eq!(
11332 unsafe {
11333 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_3>())).divisions
11334 as *const _ as usize
11335 },
11336 16usize,
11337 concat!(
11338 "Offset of field: ",
11339 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_3),
11340 "::",
11341 stringify!(divisions)
11342 )
11343 );
11344}
11345#[repr(C)]
11346#[derive(Debug, Default, Copy, Clone)]
11347pub struct _mjuiItem__bindgen_ty_1__bindgen_ty_4 {
11348 pub nelem: ::std::os::raw::c_int,
11349 pub range: [[f64; 2usize]; 5usize],
11350}
11351#[test]
11352fn bindgen_test_layout__mjuiItem__bindgen_ty_1__bindgen_ty_4() {
11353 assert_eq!(
11354 ::std::mem::size_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_4>(),
11355 88usize,
11356 concat!(
11357 "Size of: ",
11358 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_4)
11359 )
11360 );
11361 assert_eq!(
11362 ::std::mem::align_of::<_mjuiItem__bindgen_ty_1__bindgen_ty_4>(),
11363 8usize,
11364 concat!(
11365 "Alignment of ",
11366 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_4)
11367 )
11368 );
11369 assert_eq!(
11370 unsafe {
11371 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_4>())).nelem
11372 as *const _ as usize
11373 },
11374 0usize,
11375 concat!(
11376 "Offset of field: ",
11377 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_4),
11378 "::",
11379 stringify!(nelem)
11380 )
11381 );
11382 assert_eq!(
11383 unsafe {
11384 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1__bindgen_ty_4>())).range
11385 as *const _ as usize
11386 },
11387 8usize,
11388 concat!(
11389 "Offset of field: ",
11390 stringify!(_mjuiItem__bindgen_ty_1__bindgen_ty_4),
11391 "::",
11392 stringify!(range)
11393 )
11394 );
11395}
11396#[test]
11397fn bindgen_test_layout__mjuiItem__bindgen_ty_1() {
11398 assert_eq!(
11399 ::std::mem::size_of::<_mjuiItem__bindgen_ty_1>(),
11400 808usize,
11401 concat!("Size of: ", stringify!(_mjuiItem__bindgen_ty_1))
11402 );
11403 assert_eq!(
11404 ::std::mem::align_of::<_mjuiItem__bindgen_ty_1>(),
11405 8usize,
11406 concat!("Alignment of ", stringify!(_mjuiItem__bindgen_ty_1))
11407 );
11408 assert_eq!(
11409 unsafe {
11410 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1>())).single as *const _
11411 as usize
11412 },
11413 0usize,
11414 concat!(
11415 "Offset of field: ",
11416 stringify!(_mjuiItem__bindgen_ty_1),
11417 "::",
11418 stringify!(single)
11419 )
11420 );
11421 assert_eq!(
11422 unsafe {
11423 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1>())).multi as *const _
11424 as usize
11425 },
11426 0usize,
11427 concat!(
11428 "Offset of field: ",
11429 stringify!(_mjuiItem__bindgen_ty_1),
11430 "::",
11431 stringify!(multi)
11432 )
11433 );
11434 assert_eq!(
11435 unsafe {
11436 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1>())).slider as *const _
11437 as usize
11438 },
11439 0usize,
11440 concat!(
11441 "Offset of field: ",
11442 stringify!(_mjuiItem__bindgen_ty_1),
11443 "::",
11444 stringify!(slider)
11445 )
11446 );
11447 assert_eq!(
11448 unsafe {
11449 &(*(::std::ptr::null::<_mjuiItem__bindgen_ty_1>())).edit as *const _
11450 as usize
11451 },
11452 0usize,
11453 concat!(
11454 "Offset of field: ",
11455 stringify!(_mjuiItem__bindgen_ty_1),
11456 "::",
11457 stringify!(edit)
11458 )
11459 );
11460}
11461impl Default for _mjuiItem__bindgen_ty_1 {
11462 fn default() -> Self {
11463 unsafe { ::std::mem::zeroed() }
11464 }
11465}
11466#[test]
11467fn bindgen_test_layout__mjuiItem() {
11468 assert_eq!(
11469 ::std::mem::size_of::<_mjuiItem>(),
11470 888usize,
11471 concat!("Size of: ", stringify!(_mjuiItem))
11472 );
11473 assert_eq!(
11474 ::std::mem::align_of::<_mjuiItem>(),
11475 8usize,
11476 concat!("Alignment of ", stringify!(_mjuiItem))
11477 );
11478 assert_eq!(
11479 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).type_ as *const _ as usize },
11480 0usize,
11481 concat!(
11482 "Offset of field: ",
11483 stringify!(_mjuiItem),
11484 "::",
11485 stringify!(type_)
11486 )
11487 );
11488 assert_eq!(
11489 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).name as *const _ as usize },
11490 4usize,
11491 concat!(
11492 "Offset of field: ",
11493 stringify!(_mjuiItem),
11494 "::",
11495 stringify!(name)
11496 )
11497 );
11498 assert_eq!(
11499 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).state as *const _ as usize },
11500 44usize,
11501 concat!(
11502 "Offset of field: ",
11503 stringify!(_mjuiItem),
11504 "::",
11505 stringify!(state)
11506 )
11507 );
11508 assert_eq!(
11509 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).pdata as *const _ as usize },
11510 48usize,
11511 concat!(
11512 "Offset of field: ",
11513 stringify!(_mjuiItem),
11514 "::",
11515 stringify!(pdata)
11516 )
11517 );
11518 assert_eq!(
11519 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).sectionid as *const _ as usize },
11520 56usize,
11521 concat!(
11522 "Offset of field: ",
11523 stringify!(_mjuiItem),
11524 "::",
11525 stringify!(sectionid)
11526 )
11527 );
11528 assert_eq!(
11529 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).itemid as *const _ as usize },
11530 60usize,
11531 concat!(
11532 "Offset of field: ",
11533 stringify!(_mjuiItem),
11534 "::",
11535 stringify!(itemid)
11536 )
11537 );
11538 assert_eq!(
11539 unsafe { &(*(::std::ptr::null::<_mjuiItem>())).rect as *const _ as usize },
11540 872usize,
11541 concat!(
11542 "Offset of field: ",
11543 stringify!(_mjuiItem),
11544 "::",
11545 stringify!(rect)
11546 )
11547 );
11548}
11549impl Default for _mjuiItem {
11550 fn default() -> Self {
11551 unsafe { ::std::mem::zeroed() }
11552 }
11553}
11554pub type mjuiItem = _mjuiItem;
11555#[repr(C)]
11556#[derive(Copy, Clone)]
11557pub struct _mjuiSection {
11558 pub name: [::std::os::raw::c_char; 40usize],
11559 pub state: ::std::os::raw::c_int,
11560 pub modifier: ::std::os::raw::c_int,
11561 pub shortcut: ::std::os::raw::c_int,
11562 pub nitem: ::std::os::raw::c_int,
11563 pub item: [mjuiItem; 80usize],
11564 pub rtitle: mjrRect,
11565 pub rcontent: mjrRect,
11566}
11567#[test]
11568fn bindgen_test_layout__mjuiSection() {
11569 assert_eq!(
11570 ::std::mem::size_of::<_mjuiSection>(),
11571 71128usize,
11572 concat!("Size of: ", stringify!(_mjuiSection))
11573 );
11574 assert_eq!(
11575 ::std::mem::align_of::<_mjuiSection>(),
11576 8usize,
11577 concat!("Alignment of ", stringify!(_mjuiSection))
11578 );
11579 assert_eq!(
11580 unsafe { &(*(::std::ptr::null::<_mjuiSection>())).name as *const _ as usize },
11581 0usize,
11582 concat!(
11583 "Offset of field: ",
11584 stringify!(_mjuiSection),
11585 "::",
11586 stringify!(name)
11587 )
11588 );
11589 assert_eq!(
11590 unsafe { &(*(::std::ptr::null::<_mjuiSection>())).state as *const _ as usize },
11591 40usize,
11592 concat!(
11593 "Offset of field: ",
11594 stringify!(_mjuiSection),
11595 "::",
11596 stringify!(state)
11597 )
11598 );
11599 assert_eq!(
11600 unsafe {
11601 &(*(::std::ptr::null::<_mjuiSection>())).modifier as *const _ as usize
11602 },
11603 44usize,
11604 concat!(
11605 "Offset of field: ",
11606 stringify!(_mjuiSection),
11607 "::",
11608 stringify!(modifier)
11609 )
11610 );
11611 assert_eq!(
11612 unsafe {
11613 &(*(::std::ptr::null::<_mjuiSection>())).shortcut as *const _ as usize
11614 },
11615 48usize,
11616 concat!(
11617 "Offset of field: ",
11618 stringify!(_mjuiSection),
11619 "::",
11620 stringify!(shortcut)
11621 )
11622 );
11623 assert_eq!(
11624 unsafe { &(*(::std::ptr::null::<_mjuiSection>())).nitem as *const _ as usize },
11625 52usize,
11626 concat!(
11627 "Offset of field: ",
11628 stringify!(_mjuiSection),
11629 "::",
11630 stringify!(nitem)
11631 )
11632 );
11633 assert_eq!(
11634 unsafe { &(*(::std::ptr::null::<_mjuiSection>())).item as *const _ as usize },
11635 56usize,
11636 concat!(
11637 "Offset of field: ",
11638 stringify!(_mjuiSection),
11639 "::",
11640 stringify!(item)
11641 )
11642 );
11643 assert_eq!(
11644 unsafe { &(*(::std::ptr::null::<_mjuiSection>())).rtitle as *const _ as usize },
11645 71096usize,
11646 concat!(
11647 "Offset of field: ",
11648 stringify!(_mjuiSection),
11649 "::",
11650 stringify!(rtitle)
11651 )
11652 );
11653 assert_eq!(
11654 unsafe {
11655 &(*(::std::ptr::null::<_mjuiSection>())).rcontent as *const _ as usize
11656 },
11657 71112usize,
11658 concat!(
11659 "Offset of field: ",
11660 stringify!(_mjuiSection),
11661 "::",
11662 stringify!(rcontent)
11663 )
11664 );
11665}
11666impl Default for _mjuiSection {
11667 fn default() -> Self {
11668 unsafe { ::std::mem::zeroed() }
11669 }
11670}
11671pub type mjuiSection = _mjuiSection;
11672#[repr(C)]
11673#[derive(Copy, Clone)]
11674pub struct _mjUI {
11675 pub spacing: mjuiThemeSpacing,
11676 pub color: mjuiThemeColor,
11677 pub predicate: mjfItemEnable,
11678 pub userdata: *mut ::std::os::raw::c_void,
11679 pub rectid: ::std::os::raw::c_int,
11680 pub auxid: ::std::os::raw::c_int,
11681 pub radiocol: ::std::os::raw::c_int,
11682 pub width: ::std::os::raw::c_int,
11683 pub height: ::std::os::raw::c_int,
11684 pub maxheight: ::std::os::raw::c_int,
11685 pub scroll: ::std::os::raw::c_int,
11686 pub mousesect: ::std::os::raw::c_int,
11687 pub mouseitem: ::std::os::raw::c_int,
11688 pub mousehelp: ::std::os::raw::c_int,
11689 pub editsect: ::std::os::raw::c_int,
11690 pub edititem: ::std::os::raw::c_int,
11691 pub editcursor: ::std::os::raw::c_int,
11692 pub editscroll: ::std::os::raw::c_int,
11693 pub edittext: [::std::os::raw::c_char; 500usize],
11694 pub editchanged: *mut mjuiItem,
11695 pub nsect: ::std::os::raw::c_int,
11696 pub sect: [mjuiSection; 10usize],
11697}
11698#[test]
11699fn bindgen_test_layout__mjUI() {
11700 assert_eq!(
11701 ::std::mem::size_of::<_mjUI>(),
11702 712168usize,
11703 concat!("Size of: ", stringify!(_mjUI))
11704 );
11705 assert_eq!(
11706 ::std::mem::align_of::<_mjUI>(),
11707 8usize,
11708 concat!("Alignment of ", stringify!(_mjUI))
11709 );
11710 assert_eq!(
11711 unsafe { &(*(::std::ptr::null::<_mjUI>())).spacing as *const _ as usize },
11712 0usize,
11713 concat!(
11714 "Offset of field: ",
11715 stringify!(_mjUI),
11716 "::",
11717 stringify!(spacing)
11718 )
11719 );
11720 assert_eq!(
11721 unsafe { &(*(::std::ptr::null::<_mjUI>())).color as *const _ as usize },
11722 44usize,
11723 concat!(
11724 "Offset of field: ",
11725 stringify!(_mjUI),
11726 "::",
11727 stringify!(color)
11728 )
11729 );
11730 assert_eq!(
11731 unsafe { &(*(::std::ptr::null::<_mjUI>())).predicate as *const _ as usize },
11732 296usize,
11733 concat!(
11734 "Offset of field: ",
11735 stringify!(_mjUI),
11736 "::",
11737 stringify!(predicate)
11738 )
11739 );
11740 assert_eq!(
11741 unsafe { &(*(::std::ptr::null::<_mjUI>())).userdata as *const _ as usize },
11742 304usize,
11743 concat!(
11744 "Offset of field: ",
11745 stringify!(_mjUI),
11746 "::",
11747 stringify!(userdata)
11748 )
11749 );
11750 assert_eq!(
11751 unsafe { &(*(::std::ptr::null::<_mjUI>())).rectid as *const _ as usize },
11752 312usize,
11753 concat!(
11754 "Offset of field: ",
11755 stringify!(_mjUI),
11756 "::",
11757 stringify!(rectid)
11758 )
11759 );
11760 assert_eq!(
11761 unsafe { &(*(::std::ptr::null::<_mjUI>())).auxid as *const _ as usize },
11762 316usize,
11763 concat!(
11764 "Offset of field: ",
11765 stringify!(_mjUI),
11766 "::",
11767 stringify!(auxid)
11768 )
11769 );
11770 assert_eq!(
11771 unsafe { &(*(::std::ptr::null::<_mjUI>())).radiocol as *const _ as usize },
11772 320usize,
11773 concat!(
11774 "Offset of field: ",
11775 stringify!(_mjUI),
11776 "::",
11777 stringify!(radiocol)
11778 )
11779 );
11780 assert_eq!(
11781 unsafe { &(*(::std::ptr::null::<_mjUI>())).width as *const _ as usize },
11782 324usize,
11783 concat!(
11784 "Offset of field: ",
11785 stringify!(_mjUI),
11786 "::",
11787 stringify!(width)
11788 )
11789 );
11790 assert_eq!(
11791 unsafe { &(*(::std::ptr::null::<_mjUI>())).height as *const _ as usize },
11792 328usize,
11793 concat!(
11794 "Offset of field: ",
11795 stringify!(_mjUI),
11796 "::",
11797 stringify!(height)
11798 )
11799 );
11800 assert_eq!(
11801 unsafe { &(*(::std::ptr::null::<_mjUI>())).maxheight as *const _ as usize },
11802 332usize,
11803 concat!(
11804 "Offset of field: ",
11805 stringify!(_mjUI),
11806 "::",
11807 stringify!(maxheight)
11808 )
11809 );
11810 assert_eq!(
11811 unsafe { &(*(::std::ptr::null::<_mjUI>())).scroll as *const _ as usize },
11812 336usize,
11813 concat!(
11814 "Offset of field: ",
11815 stringify!(_mjUI),
11816 "::",
11817 stringify!(scroll)
11818 )
11819 );
11820 assert_eq!(
11821 unsafe { &(*(::std::ptr::null::<_mjUI>())).mousesect as *const _ as usize },
11822 340usize,
11823 concat!(
11824 "Offset of field: ",
11825 stringify!(_mjUI),
11826 "::",
11827 stringify!(mousesect)
11828 )
11829 );
11830 assert_eq!(
11831 unsafe { &(*(::std::ptr::null::<_mjUI>())).mouseitem as *const _ as usize },
11832 344usize,
11833 concat!(
11834 "Offset of field: ",
11835 stringify!(_mjUI),
11836 "::",
11837 stringify!(mouseitem)
11838 )
11839 );
11840 assert_eq!(
11841 unsafe { &(*(::std::ptr::null::<_mjUI>())).mousehelp as *const _ as usize },
11842 348usize,
11843 concat!(
11844 "Offset of field: ",
11845 stringify!(_mjUI),
11846 "::",
11847 stringify!(mousehelp)
11848 )
11849 );
11850 assert_eq!(
11851 unsafe { &(*(::std::ptr::null::<_mjUI>())).editsect as *const _ as usize },
11852 352usize,
11853 concat!(
11854 "Offset of field: ",
11855 stringify!(_mjUI),
11856 "::",
11857 stringify!(editsect)
11858 )
11859 );
11860 assert_eq!(
11861 unsafe { &(*(::std::ptr::null::<_mjUI>())).edititem as *const _ as usize },
11862 356usize,
11863 concat!(
11864 "Offset of field: ",
11865 stringify!(_mjUI),
11866 "::",
11867 stringify!(edititem)
11868 )
11869 );
11870 assert_eq!(
11871 unsafe { &(*(::std::ptr::null::<_mjUI>())).editcursor as *const _ as usize },
11872 360usize,
11873 concat!(
11874 "Offset of field: ",
11875 stringify!(_mjUI),
11876 "::",
11877 stringify!(editcursor)
11878 )
11879 );
11880 assert_eq!(
11881 unsafe { &(*(::std::ptr::null::<_mjUI>())).editscroll as *const _ as usize },
11882 364usize,
11883 concat!(
11884 "Offset of field: ",
11885 stringify!(_mjUI),
11886 "::",
11887 stringify!(editscroll)
11888 )
11889 );
11890 assert_eq!(
11891 unsafe { &(*(::std::ptr::null::<_mjUI>())).edittext as *const _ as usize },
11892 368usize,
11893 concat!(
11894 "Offset of field: ",
11895 stringify!(_mjUI),
11896 "::",
11897 stringify!(edittext)
11898 )
11899 );
11900 assert_eq!(
11901 unsafe { &(*(::std::ptr::null::<_mjUI>())).editchanged as *const _ as usize },
11902 872usize,
11903 concat!(
11904 "Offset of field: ",
11905 stringify!(_mjUI),
11906 "::",
11907 stringify!(editchanged)
11908 )
11909 );
11910 assert_eq!(
11911 unsafe { &(*(::std::ptr::null::<_mjUI>())).nsect as *const _ as usize },
11912 880usize,
11913 concat!(
11914 "Offset of field: ",
11915 stringify!(_mjUI),
11916 "::",
11917 stringify!(nsect)
11918 )
11919 );
11920 assert_eq!(
11921 unsafe { &(*(::std::ptr::null::<_mjUI>())).sect as *const _ as usize },
11922 888usize,
11923 concat!(
11924 "Offset of field: ",
11925 stringify!(_mjUI),
11926 "::",
11927 stringify!(sect)
11928 )
11929 );
11930}
11931impl Default for _mjUI {
11932 fn default() -> Self {
11933 unsafe { ::std::mem::zeroed() }
11934 }
11935}
11936pub type mjUI = _mjUI;
11937#[repr(C)]
11938#[derive(Copy, Clone)]
11939pub struct _mjuiDef {
11940 pub type_: ::std::os::raw::c_int,
11941 pub name: [::std::os::raw::c_char; 40usize],
11942 pub state: ::std::os::raw::c_int,
11943 pub pdata: *mut ::std::os::raw::c_void,
11944 pub other: [::std::os::raw::c_char; 500usize],
11945}
11946#[test]
11947fn bindgen_test_layout__mjuiDef() {
11948 assert_eq!(
11949 ::std::mem::size_of::<_mjuiDef>(),
11950 560usize,
11951 concat!("Size of: ", stringify!(_mjuiDef))
11952 );
11953 assert_eq!(
11954 ::std::mem::align_of::<_mjuiDef>(),
11955 8usize,
11956 concat!("Alignment of ", stringify!(_mjuiDef))
11957 );
11958 assert_eq!(
11959 unsafe { &(*(::std::ptr::null::<_mjuiDef>())).type_ as *const _ as usize },
11960 0usize,
11961 concat!(
11962 "Offset of field: ",
11963 stringify!(_mjuiDef),
11964 "::",
11965 stringify!(type_)
11966 )
11967 );
11968 assert_eq!(
11969 unsafe { &(*(::std::ptr::null::<_mjuiDef>())).name as *const _ as usize },
11970 4usize,
11971 concat!(
11972 "Offset of field: ",
11973 stringify!(_mjuiDef),
11974 "::",
11975 stringify!(name)
11976 )
11977 );
11978 assert_eq!(
11979 unsafe { &(*(::std::ptr::null::<_mjuiDef>())).state as *const _ as usize },
11980 44usize,
11981 concat!(
11982 "Offset of field: ",
11983 stringify!(_mjuiDef),
11984 "::",
11985 stringify!(state)
11986 )
11987 );
11988 assert_eq!(
11989 unsafe { &(*(::std::ptr::null::<_mjuiDef>())).pdata as *const _ as usize },
11990 48usize,
11991 concat!(
11992 "Offset of field: ",
11993 stringify!(_mjuiDef),
11994 "::",
11995 stringify!(pdata)
11996 )
11997 );
11998 assert_eq!(
11999 unsafe { &(*(::std::ptr::null::<_mjuiDef>())).other as *const _ as usize },
12000 56usize,
12001 concat!(
12002 "Offset of field: ",
12003 stringify!(_mjuiDef),
12004 "::",
12005 stringify!(other)
12006 )
12007 );
12008}
12009impl Default for _mjuiDef {
12010 fn default() -> Self {
12011 unsafe { ::std::mem::zeroed() }
12012 }
12013}
12014pub type mjuiDef = _mjuiDef;
12015extern "C" {
12016 pub static mut mju_user_error: ::std::option::Option<
12017 unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char),
12018 >;
12019}
12020extern "C" {
12021 pub static mut mju_user_warning: ::std::option::Option<
12022 unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char),
12023 >;
12024}
12025extern "C" {
12026 pub static mut mju_user_malloc: ::std::option::Option<
12027 unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void,
12028 >;
12029}
12030extern "C" {
12031 pub static mut mju_user_free:
12032 ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
12033}
12034extern "C" {
12035 pub static mut mjcb_passive: mjfGeneric;
12036}
12037extern "C" {
12038 pub static mut mjcb_control: mjfGeneric;
12039}
12040extern "C" {
12041 pub static mut mjcb_contactfilter: mjfGeneric;
12042}
12043extern "C" {
12044 pub static mut mjcb_sensor: mjfSensor;
12045}
12046extern "C" {
12047 pub static mut mjcb_time: mjfTime;
12048}
12049extern "C" {
12050 pub static mut mjcb_act_dyn: mjfAct;
12051}
12052extern "C" {
12053 pub static mut mjcb_act_gain: mjfAct;
12054}
12055extern "C" {
12056 pub static mut mjcb_act_bias: mjfAct;
12057}
12058extern "C" {
12059 pub static mut mjCOLLISIONFUNC: [[mjfCollision; 8usize]; 8usize];
12060}
12061extern "C" {
12062 pub static mut mjDISABLESTRING: [*const ::std::os::raw::c_char; 12usize];
12063}
12064extern "C" {
12065 pub static mut mjENABLESTRING: [*const ::std::os::raw::c_char; 4usize];
12066}
12067extern "C" {
12068 pub static mut mjTIMERSTRING: [*const ::std::os::raw::c_char; 13usize];
12069}
12070extern "C" {
12071 pub static mut mjLABELSTRING: [*const ::std::os::raw::c_char; 14usize];
12072}
12073extern "C" {
12074 pub static mut mjFRAMESTRING: [*const ::std::os::raw::c_char; 7usize];
12075}
12076extern "C" {
12077 pub static mut mjVISSTRING: [[*const ::std::os::raw::c_char; 3usize]; 22usize];
12078}
12079extern "C" {
12080 pub fn mj_activate(
12081 filename: *const ::std::os::raw::c_char,
12082 ) -> ::std::os::raw::c_int;
12083}
12084extern "C" {
12085 pub fn mj_deactivate();
12086}
12087extern "C" {
12088 pub fn mj_certQuestion(question: *mut mjtNum);
12089}
12090extern "C" {
12091 pub fn mj_certAnswer(question: *const mjtNum, answer: *mut mjtNum);
12092}
12093extern "C" {
12094 pub fn mj_certCheck(
12095 question: *const mjtNum,
12096 answer: *const mjtNum,
12097 ) -> ::std::os::raw::c_int;
12098}
12099extern "C" {
12100 pub fn mj_defaultVFS(vfs: *mut mjVFS);
12101}
12102extern "C" {
12103 pub fn mj_addFileVFS(
12104 vfs: *mut mjVFS,
12105 directory: *const ::std::os::raw::c_char,
12106 filename: *const ::std::os::raw::c_char,
12107 ) -> ::std::os::raw::c_int;
12108}
12109extern "C" {
12110 pub fn mj_makeEmptyFileVFS(
12111 vfs: *mut mjVFS,
12112 filename: *const ::std::os::raw::c_char,
12113 filesize: ::std::os::raw::c_int,
12114 ) -> ::std::os::raw::c_int;
12115}
12116extern "C" {
12117 pub fn mj_findFileVFS(
12118 vfs: *const mjVFS,
12119 filename: *const ::std::os::raw::c_char,
12120 ) -> ::std::os::raw::c_int;
12121}
12122extern "C" {
12123 pub fn mj_deleteFileVFS(
12124 vfs: *mut mjVFS,
12125 filename: *const ::std::os::raw::c_char,
12126 ) -> ::std::os::raw::c_int;
12127}
12128extern "C" {
12129 pub fn mj_deleteVFS(vfs: *mut mjVFS);
12130}
12131extern "C" {
12132 pub fn mj_loadXML(
12133 filename: *const ::std::os::raw::c_char,
12134 vfs: *const mjVFS,
12135 error: *mut ::std::os::raw::c_char,
12136 error_sz: ::std::os::raw::c_int,
12137 ) -> *mut mjModel;
12138}
12139extern "C" {
12140 pub fn mj_saveLastXML(
12141 filename: *const ::std::os::raw::c_char,
12142 m: *const mjModel,
12143 error: *mut ::std::os::raw::c_char,
12144 error_sz: ::std::os::raw::c_int,
12145 ) -> ::std::os::raw::c_int;
12146}
12147extern "C" {
12148 pub fn mj_freeLastXML();
12149}
12150extern "C" {
12151 pub fn mj_printSchema(
12152 filename: *const ::std::os::raw::c_char,
12153 buffer: *mut ::std::os::raw::c_char,
12154 buffer_sz: ::std::os::raw::c_int,
12155 flg_html: ::std::os::raw::c_int,
12156 flg_pad: ::std::os::raw::c_int,
12157 ) -> ::std::os::raw::c_int;
12158}
12159extern "C" {
12160 pub fn mj_step(m: *const mjModel, d: *mut mjData);
12161}
12162extern "C" {
12163 pub fn mj_step1(m: *const mjModel, d: *mut mjData);
12164}
12165extern "C" {
12166 pub fn mj_step2(m: *const mjModel, d: *mut mjData);
12167}
12168extern "C" {
12169 pub fn mj_forward(m: *const mjModel, d: *mut mjData);
12170}
12171extern "C" {
12172 pub fn mj_inverse(m: *const mjModel, d: *mut mjData);
12173}
12174extern "C" {
12175 pub fn mj_forwardSkip(
12176 m: *const mjModel,
12177 d: *mut mjData,
12178 skipstage: ::std::os::raw::c_int,
12179 skipsensor: ::std::os::raw::c_int,
12180 );
12181}
12182extern "C" {
12183 pub fn mj_inverseSkip(
12184 m: *const mjModel,
12185 d: *mut mjData,
12186 skipstage: ::std::os::raw::c_int,
12187 skipsensor: ::std::os::raw::c_int,
12188 );
12189}
12190extern "C" {
12191 pub fn mj_defaultLROpt(opt: *mut mjLROpt);
12192}
12193extern "C" {
12194 pub fn mj_defaultSolRefImp(solref: *mut mjtNum, solimp: *mut mjtNum);
12195}
12196extern "C" {
12197 pub fn mj_defaultOption(opt: *mut mjOption);
12198}
12199extern "C" {
12200 pub fn mj_defaultVisual(vis: *mut mjVisual);
12201}
12202extern "C" {
12203 pub fn mj_copyModel(dest: *mut mjModel, src: *const mjModel) -> *mut mjModel;
12204}
12205extern "C" {
12206 pub fn mj_saveModel(
12207 m: *const mjModel,
12208 filename: *const ::std::os::raw::c_char,
12209 buffer: *mut ::std::os::raw::c_void,
12210 buffer_sz: ::std::os::raw::c_int,
12211 );
12212}
12213extern "C" {
12214 pub fn mj_loadModel(
12215 filename: *const ::std::os::raw::c_char,
12216 vfs: *const mjVFS,
12217 ) -> *mut mjModel;
12218}
12219extern "C" {
12220 pub fn mj_deleteModel(m: *mut mjModel);
12221}
12222extern "C" {
12223 pub fn mj_sizeModel(m: *const mjModel) -> ::std::os::raw::c_int;
12224}
12225extern "C" {
12226 pub fn mj_makeData(m: *const mjModel) -> *mut mjData;
12227}
12228extern "C" {
12229 pub fn mj_copyData(
12230 dest: *mut mjData,
12231 m: *const mjModel,
12232 src: *const mjData,
12233 ) -> *mut mjData;
12234}
12235extern "C" {
12236 pub fn mj_resetData(m: *const mjModel, d: *mut mjData);
12237}
12238extern "C" {
12239 pub fn mj_resetDataDebug(
12240 m: *const mjModel,
12241 d: *mut mjData,
12242 debug_value: ::std::os::raw::c_uchar,
12243 );
12244}
12245extern "C" {
12246 pub fn mj_resetDataKeyframe(
12247 m: *const mjModel,
12248 d: *mut mjData,
12249 key: ::std::os::raw::c_int,
12250 );
12251}
12252extern "C" {
12253 pub fn mj_stackAlloc(d: *mut mjData, size: ::std::os::raw::c_int) -> *mut mjtNum;
12254}
12255extern "C" {
12256 pub fn mj_deleteData(d: *mut mjData);
12257}
12258extern "C" {
12259 pub fn mj_resetCallbacks();
12260}
12261extern "C" {
12262 pub fn mj_setConst(m: *mut mjModel, d: *mut mjData);
12263}
12264extern "C" {
12265 pub fn mj_setLengthRange(
12266 m: *mut mjModel,
12267 d: *mut mjData,
12268 index: ::std::os::raw::c_int,
12269 opt: *const mjLROpt,
12270 error: *mut ::std::os::raw::c_char,
12271 error_sz: ::std::os::raw::c_int,
12272 ) -> ::std::os::raw::c_int;
12273}
12274extern "C" {
12275 pub fn mj_printModel(m: *const mjModel, filename: *const ::std::os::raw::c_char);
12276}
12277extern "C" {
12278 pub fn mj_printData(
12279 m: *const mjModel,
12280 d: *mut mjData,
12281 filename: *const ::std::os::raw::c_char,
12282 );
12283}
12284extern "C" {
12285 pub fn mju_printMat(
12286 mat: *const mjtNum,
12287 nr: ::std::os::raw::c_int,
12288 nc: ::std::os::raw::c_int,
12289 );
12290}
12291extern "C" {
12292 pub fn mju_printMatSparse(
12293 mat: *const mjtNum,
12294 nr: ::std::os::raw::c_int,
12295 rownnz: *const ::std::os::raw::c_int,
12296 rowadr: *const ::std::os::raw::c_int,
12297 colind: *const ::std::os::raw::c_int,
12298 );
12299}
12300extern "C" {
12301 pub fn mj_fwdPosition(m: *const mjModel, d: *mut mjData);
12302}
12303extern "C" {
12304 pub fn mj_fwdVelocity(m: *const mjModel, d: *mut mjData);
12305}
12306extern "C" {
12307 pub fn mj_fwdActuation(m: *const mjModel, d: *mut mjData);
12308}
12309extern "C" {
12310 pub fn mj_fwdAcceleration(m: *const mjModel, d: *mut mjData);
12311}
12312extern "C" {
12313 pub fn mj_fwdConstraint(m: *const mjModel, d: *mut mjData);
12314}
12315extern "C" {
12316 pub fn mj_Euler(m: *const mjModel, d: *mut mjData);
12317}
12318extern "C" {
12319 pub fn mj_RungeKutta(m: *const mjModel, d: *mut mjData, N: ::std::os::raw::c_int);
12320}
12321extern "C" {
12322 pub fn mj_invPosition(m: *const mjModel, d: *mut mjData);
12323}
12324extern "C" {
12325 pub fn mj_invVelocity(m: *const mjModel, d: *mut mjData);
12326}
12327extern "C" {
12328 pub fn mj_invConstraint(m: *const mjModel, d: *mut mjData);
12329}
12330extern "C" {
12331 pub fn mj_compareFwdInv(m: *const mjModel, d: *mut mjData);
12332}
12333extern "C" {
12334 pub fn mj_sensorPos(m: *const mjModel, d: *mut mjData);
12335}
12336extern "C" {
12337 pub fn mj_sensorVel(m: *const mjModel, d: *mut mjData);
12338}
12339extern "C" {
12340 pub fn mj_sensorAcc(m: *const mjModel, d: *mut mjData);
12341}
12342extern "C" {
12343 pub fn mj_energyPos(m: *const mjModel, d: *mut mjData);
12344}
12345extern "C" {
12346 pub fn mj_energyVel(m: *const mjModel, d: *mut mjData);
12347}
12348extern "C" {
12349 pub fn mj_checkPos(m: *const mjModel, d: *mut mjData);
12350}
12351extern "C" {
12352 pub fn mj_checkVel(m: *const mjModel, d: *mut mjData);
12353}
12354extern "C" {
12355 pub fn mj_checkAcc(m: *const mjModel, d: *mut mjData);
12356}
12357extern "C" {
12358 pub fn mj_kinematics(m: *const mjModel, d: *mut mjData);
12359}
12360extern "C" {
12361 pub fn mj_comPos(m: *const mjModel, d: *mut mjData);
12362}
12363extern "C" {
12364 pub fn mj_camlight(m: *const mjModel, d: *mut mjData);
12365}
12366extern "C" {
12367 pub fn mj_tendon(m: *const mjModel, d: *mut mjData);
12368}
12369extern "C" {
12370 pub fn mj_transmission(m: *const mjModel, d: *mut mjData);
12371}
12372extern "C" {
12373 pub fn mj_crb(m: *const mjModel, d: *mut mjData);
12374}
12375extern "C" {
12376 pub fn mj_factorM(m: *const mjModel, d: *mut mjData);
12377}
12378extern "C" {
12379 pub fn mj_solveM(
12380 m: *const mjModel,
12381 d: *mut mjData,
12382 x: *mut mjtNum,
12383 y: *const mjtNum,
12384 n: ::std::os::raw::c_int,
12385 );
12386}
12387extern "C" {
12388 pub fn mj_solveM2(
12389 m: *const mjModel,
12390 d: *mut mjData,
12391 x: *mut mjtNum,
12392 y: *const mjtNum,
12393 n: ::std::os::raw::c_int,
12394 );
12395}
12396extern "C" {
12397 pub fn mj_comVel(m: *const mjModel, d: *mut mjData);
12398}
12399extern "C" {
12400 pub fn mj_passive(m: *const mjModel, d: *mut mjData);
12401}
12402extern "C" {
12403 pub fn mj_subtreeVel(m: *const mjModel, d: *mut mjData);
12404}
12405extern "C" {
12406 pub fn mj_rne(
12407 m: *const mjModel,
12408 d: *mut mjData,
12409 flg_acc: ::std::os::raw::c_int,
12410 result: *mut mjtNum,
12411 );
12412}
12413extern "C" {
12414 pub fn mj_rnePostConstraint(m: *const mjModel, d: *mut mjData);
12415}
12416extern "C" {
12417 pub fn mj_collision(m: *const mjModel, d: *mut mjData);
12418}
12419extern "C" {
12420 pub fn mj_makeConstraint(m: *const mjModel, d: *mut mjData);
12421}
12422extern "C" {
12423 pub fn mj_projectConstraint(m: *const mjModel, d: *mut mjData);
12424}
12425extern "C" {
12426 pub fn mj_referenceConstraint(m: *const mjModel, d: *mut mjData);
12427}
12428extern "C" {
12429 pub fn mj_constraintUpdate(
12430 m: *const mjModel,
12431 d: *mut mjData,
12432 jar: *const mjtNum,
12433 cost: *mut mjtNum,
12434 flg_coneHessian: ::std::os::raw::c_int,
12435 );
12436}
12437extern "C" {
12438 pub fn mj_addContact(
12439 m: *const mjModel,
12440 d: *mut mjData,
12441 con: *const mjContact,
12442 ) -> ::std::os::raw::c_int;
12443}
12444extern "C" {
12445 pub fn mj_isPyramidal(m: *const mjModel) -> ::std::os::raw::c_int;
12446}
12447extern "C" {
12448 pub fn mj_isSparse(m: *const mjModel) -> ::std::os::raw::c_int;
12449}
12450extern "C" {
12451 pub fn mj_isDual(m: *const mjModel) -> ::std::os::raw::c_int;
12452}
12453extern "C" {
12454 pub fn mj_mulJacVec(
12455 m: *const mjModel,
12456 d: *mut mjData,
12457 res: *mut mjtNum,
12458 vec: *const mjtNum,
12459 );
12460}
12461extern "C" {
12462 pub fn mj_mulJacTVec(
12463 m: *const mjModel,
12464 d: *mut mjData,
12465 res: *mut mjtNum,
12466 vec: *const mjtNum,
12467 );
12468}
12469extern "C" {
12470 pub fn mj_jac(
12471 m: *const mjModel,
12472 d: *const mjData,
12473 jacp: *mut mjtNum,
12474 jacr: *mut mjtNum,
12475 point: *const mjtNum,
12476 body: ::std::os::raw::c_int,
12477 );
12478}
12479extern "C" {
12480 pub fn mj_jacBody(
12481 m: *const mjModel,
12482 d: *const mjData,
12483 jacp: *mut mjtNum,
12484 jacr: *mut mjtNum,
12485 body: ::std::os::raw::c_int,
12486 );
12487}
12488extern "C" {
12489 pub fn mj_jacBodyCom(
12490 m: *const mjModel,
12491 d: *const mjData,
12492 jacp: *mut mjtNum,
12493 jacr: *mut mjtNum,
12494 body: ::std::os::raw::c_int,
12495 );
12496}
12497extern "C" {
12498 pub fn mj_jacGeom(
12499 m: *const mjModel,
12500 d: *const mjData,
12501 jacp: *mut mjtNum,
12502 jacr: *mut mjtNum,
12503 geom: ::std::os::raw::c_int,
12504 );
12505}
12506extern "C" {
12507 pub fn mj_jacSite(
12508 m: *const mjModel,
12509 d: *const mjData,
12510 jacp: *mut mjtNum,
12511 jacr: *mut mjtNum,
12512 site: ::std::os::raw::c_int,
12513 );
12514}
12515extern "C" {
12516 pub fn mj_jacPointAxis(
12517 m: *const mjModel,
12518 d: *mut mjData,
12519 jacPoint: *mut mjtNum,
12520 jacAxis: *mut mjtNum,
12521 point: *const mjtNum,
12522 axis: *const mjtNum,
12523 body: ::std::os::raw::c_int,
12524 );
12525}
12526extern "C" {
12527 pub fn mj_name2id(
12528 m: *const mjModel,
12529 type_: ::std::os::raw::c_int,
12530 name: *const ::std::os::raw::c_char,
12531 ) -> ::std::os::raw::c_int;
12532}
12533extern "C" {
12534 pub fn mj_id2name(
12535 m: *const mjModel,
12536 type_: ::std::os::raw::c_int,
12537 id: ::std::os::raw::c_int,
12538 ) -> *const ::std::os::raw::c_char;
12539}
12540extern "C" {
12541 pub fn mj_fullM(m: *const mjModel, dst: *mut mjtNum, M: *const mjtNum);
12542}
12543extern "C" {
12544 pub fn mj_mulM(
12545 m: *const mjModel,
12546 d: *const mjData,
12547 res: *mut mjtNum,
12548 vec: *const mjtNum,
12549 );
12550}
12551extern "C" {
12552 pub fn mj_mulM2(
12553 m: *const mjModel,
12554 d: *const mjData,
12555 res: *mut mjtNum,
12556 vec: *const mjtNum,
12557 );
12558}
12559extern "C" {
12560 pub fn mj_addM(
12561 m: *const mjModel,
12562 d: *mut mjData,
12563 dst: *mut mjtNum,
12564 rownnz: *mut ::std::os::raw::c_int,
12565 rowadr: *mut ::std::os::raw::c_int,
12566 colind: *mut ::std::os::raw::c_int,
12567 );
12568}
12569extern "C" {
12570 pub fn mj_applyFT(
12571 m: *const mjModel,
12572 d: *mut mjData,
12573 force: *const mjtNum,
12574 torque: *const mjtNum,
12575 point: *const mjtNum,
12576 body: ::std::os::raw::c_int,
12577 qfrc_target: *mut mjtNum,
12578 );
12579}
12580extern "C" {
12581 pub fn mj_objectVelocity(
12582 m: *const mjModel,
12583 d: *const mjData,
12584 objtype: ::std::os::raw::c_int,
12585 objid: ::std::os::raw::c_int,
12586 res: *mut mjtNum,
12587 flg_local: ::std::os::raw::c_int,
12588 );
12589}
12590extern "C" {
12591 pub fn mj_objectAcceleration(
12592 m: *const mjModel,
12593 d: *const mjData,
12594 objtype: ::std::os::raw::c_int,
12595 objid: ::std::os::raw::c_int,
12596 res: *mut mjtNum,
12597 flg_local: ::std::os::raw::c_int,
12598 );
12599}
12600extern "C" {
12601 pub fn mj_contactForce(
12602 m: *const mjModel,
12603 d: *const mjData,
12604 id: ::std::os::raw::c_int,
12605 result: *mut mjtNum,
12606 );
12607}
12608extern "C" {
12609 pub fn mj_differentiatePos(
12610 m: *const mjModel,
12611 qvel: *mut mjtNum,
12612 dt: mjtNum,
12613 qpos1: *const mjtNum,
12614 qpos2: *const mjtNum,
12615 );
12616}
12617extern "C" {
12618 pub fn mj_integratePos(
12619 m: *const mjModel,
12620 qpos: *mut mjtNum,
12621 qvel: *const mjtNum,
12622 dt: mjtNum,
12623 );
12624}
12625extern "C" {
12626 pub fn mj_normalizeQuat(m: *const mjModel, qpos: *mut mjtNum);
12627}
12628extern "C" {
12629 pub fn mj_local2Global(
12630 d: *mut mjData,
12631 xpos: *mut mjtNum,
12632 xmat: *mut mjtNum,
12633 pos: *const mjtNum,
12634 quat: *const mjtNum,
12635 body: ::std::os::raw::c_int,
12636 sameframe: mjtByte,
12637 );
12638}
12639extern "C" {
12640 pub fn mj_getTotalmass(m: *const mjModel) -> mjtNum;
12641}
12642extern "C" {
12643 pub fn mj_setTotalmass(m: *mut mjModel, newmass: mjtNum);
12644}
12645extern "C" {
12646 pub fn mj_version() -> ::std::os::raw::c_int;
12647}
12648extern "C" {
12649 pub fn mj_ray(
12650 m: *const mjModel,
12651 d: *const mjData,
12652 pnt: *const mjtNum,
12653 vec: *const mjtNum,
12654 geomgroup: *const mjtByte,
12655 flg_static: mjtByte,
12656 bodyexclude: ::std::os::raw::c_int,
12657 geomid: *mut ::std::os::raw::c_int,
12658 ) -> mjtNum;
12659}
12660extern "C" {
12661 pub fn mj_rayHfield(
12662 m: *const mjModel,
12663 d: *const mjData,
12664 geomid: ::std::os::raw::c_int,
12665 pnt: *const mjtNum,
12666 vec: *const mjtNum,
12667 ) -> mjtNum;
12668}
12669extern "C" {
12670 pub fn mj_rayMesh(
12671 m: *const mjModel,
12672 d: *const mjData,
12673 geomid: ::std::os::raw::c_int,
12674 pnt: *const mjtNum,
12675 vec: *const mjtNum,
12676 ) -> mjtNum;
12677}
12678extern "C" {
12679 pub fn mju_rayGeom(
12680 pos: *const mjtNum,
12681 mat: *const mjtNum,
12682 size: *const mjtNum,
12683 pnt: *const mjtNum,
12684 vec: *const mjtNum,
12685 geomtype: ::std::os::raw::c_int,
12686 ) -> mjtNum;
12687}
12688extern "C" {
12689 pub fn mju_raySkin(
12690 nface: ::std::os::raw::c_int,
12691 nvert: ::std::os::raw::c_int,
12692 face: *const ::std::os::raw::c_int,
12693 vert: *const f32,
12694 pnt: *const mjtNum,
12695 vec: *const mjtNum,
12696 vertid: *mut ::std::os::raw::c_int,
12697 ) -> mjtNum;
12698}
12699extern "C" {
12700 pub fn mjv_defaultCamera(cam: *mut mjvCamera);
12701}
12702extern "C" {
12703 pub fn mjv_defaultPerturb(pert: *mut mjvPerturb);
12704}
12705extern "C" {
12706 pub fn mjv_room2model(
12707 modelpos: *mut mjtNum,
12708 modelquat: *mut mjtNum,
12709 roompos: *const mjtNum,
12710 roomquat: *const mjtNum,
12711 scn: *const mjvScene,
12712 );
12713}
12714extern "C" {
12715 pub fn mjv_model2room(
12716 roompos: *mut mjtNum,
12717 roomquat: *mut mjtNum,
12718 modelpos: *const mjtNum,
12719 modelquat: *const mjtNum,
12720 scn: *const mjvScene,
12721 );
12722}
12723extern "C" {
12724 pub fn mjv_cameraInModel(
12725 headpos: *mut mjtNum,
12726 forward: *mut mjtNum,
12727 up: *mut mjtNum,
12728 scn: *const mjvScene,
12729 );
12730}
12731extern "C" {
12732 pub fn mjv_cameraInRoom(
12733 headpos: *mut mjtNum,
12734 forward: *mut mjtNum,
12735 up: *mut mjtNum,
12736 scn: *const mjvScene,
12737 );
12738}
12739extern "C" {
12740 pub fn mjv_frustumHeight(scn: *const mjvScene) -> mjtNum;
12741}
12742extern "C" {
12743 pub fn mjv_alignToCamera(
12744 res: *mut mjtNum,
12745 vec: *const mjtNum,
12746 forward: *const mjtNum,
12747 );
12748}
12749extern "C" {
12750 pub fn mjv_moveCamera(
12751 m: *const mjModel,
12752 action: ::std::os::raw::c_int,
12753 reldx: mjtNum,
12754 reldy: mjtNum,
12755 scn: *const mjvScene,
12756 cam: *mut mjvCamera,
12757 );
12758}
12759extern "C" {
12760 pub fn mjv_movePerturb(
12761 m: *const mjModel,
12762 d: *const mjData,
12763 action: ::std::os::raw::c_int,
12764 reldx: mjtNum,
12765 reldy: mjtNum,
12766 scn: *const mjvScene,
12767 pert: *mut mjvPerturb,
12768 );
12769}
12770extern "C" {
12771 pub fn mjv_moveModel(
12772 m: *const mjModel,
12773 action: ::std::os::raw::c_int,
12774 reldx: mjtNum,
12775 reldy: mjtNum,
12776 roomup: *const mjtNum,
12777 scn: *mut mjvScene,
12778 );
12779}
12780extern "C" {
12781 pub fn mjv_initPerturb(
12782 m: *const mjModel,
12783 d: *const mjData,
12784 scn: *const mjvScene,
12785 pert: *mut mjvPerturb,
12786 );
12787}
12788extern "C" {
12789 pub fn mjv_applyPerturbPose(
12790 m: *const mjModel,
12791 d: *mut mjData,
12792 pert: *const mjvPerturb,
12793 flg_paused: ::std::os::raw::c_int,
12794 );
12795}
12796extern "C" {
12797 pub fn mjv_applyPerturbForce(
12798 m: *const mjModel,
12799 d: *mut mjData,
12800 pert: *const mjvPerturb,
12801 );
12802}
12803extern "C" {
12804 pub fn mjv_averageCamera(
12805 cam1: *const mjvGLCamera,
12806 cam2: *const mjvGLCamera,
12807 ) -> mjvGLCamera;
12808}
12809extern "C" {
12810 pub fn mjv_select(
12811 m: *const mjModel,
12812 d: *const mjData,
12813 vopt: *const mjvOption,
12814 aspectratio: mjtNum,
12815 relx: mjtNum,
12816 rely: mjtNum,
12817 scn: *const mjvScene,
12818 selpnt: *mut mjtNum,
12819 geomid: *mut ::std::os::raw::c_int,
12820 skinid: *mut ::std::os::raw::c_int,
12821 ) -> ::std::os::raw::c_int;
12822}
12823extern "C" {
12824 pub fn mjv_defaultOption(opt: *mut mjvOption);
12825}
12826extern "C" {
12827 pub fn mjv_defaultFigure(fig: *mut mjvFigure);
12828}
12829extern "C" {
12830 pub fn mjv_initGeom(
12831 geom: *mut mjvGeom,
12832 type_: ::std::os::raw::c_int,
12833 size: *const mjtNum,
12834 pos: *const mjtNum,
12835 mat: *const mjtNum,
12836 rgba: *const f32,
12837 );
12838}
12839extern "C" {
12840 pub fn mjv_makeConnector(
12841 geom: *mut mjvGeom,
12842 type_: ::std::os::raw::c_int,
12843 width: mjtNum,
12844 a0: mjtNum,
12845 a1: mjtNum,
12846 a2: mjtNum,
12847 b0: mjtNum,
12848 b1: mjtNum,
12849 b2: mjtNum,
12850 );
12851}
12852extern "C" {
12853 pub fn mjv_defaultScene(scn: *mut mjvScene);
12854}
12855extern "C" {
12856 pub fn mjv_makeScene(
12857 m: *const mjModel,
12858 scn: *mut mjvScene,
12859 maxgeom: ::std::os::raw::c_int,
12860 );
12861}
12862extern "C" {
12863 pub fn mjv_freeScene(scn: *mut mjvScene);
12864}
12865extern "C" {
12866 pub fn mjv_updateScene(
12867 m: *const mjModel,
12868 d: *mut mjData,
12869 opt: *const mjvOption,
12870 pert: *const mjvPerturb,
12871 cam: *mut mjvCamera,
12872 catmask: ::std::os::raw::c_int,
12873 scn: *mut mjvScene,
12874 );
12875}
12876extern "C" {
12877 pub fn mjv_addGeoms(
12878 m: *const mjModel,
12879 d: *mut mjData,
12880 opt: *const mjvOption,
12881 pert: *const mjvPerturb,
12882 catmask: ::std::os::raw::c_int,
12883 scn: *mut mjvScene,
12884 );
12885}
12886extern "C" {
12887 pub fn mjv_makeLights(m: *const mjModel, d: *mut mjData, scn: *mut mjvScene);
12888}
12889extern "C" {
12890 pub fn mjv_updateCamera(
12891 m: *const mjModel,
12892 d: *mut mjData,
12893 cam: *mut mjvCamera,
12894 scn: *mut mjvScene,
12895 );
12896}
12897extern "C" {
12898 pub fn mjv_updateSkin(m: *const mjModel, d: *mut mjData, scn: *mut mjvScene);
12899}
12900extern "C" {
12901 pub fn mjui_themeSpacing(ind: ::std::os::raw::c_int) -> mjuiThemeSpacing;
12902}
12903extern "C" {
12904 pub fn mjui_themeColor(ind: ::std::os::raw::c_int) -> mjuiThemeColor;
12905}
12906extern "C" {
12907 pub fn mjui_add(ui: *mut mjUI, def: *const mjuiDef);
12908}
12909extern "C" {
12910 pub fn mjui_resize(ui: *mut mjUI, con: *const mjrContext);
12911}
12912extern "C" {
12913 pub fn mjui_update(
12914 section: ::std::os::raw::c_int,
12915 item: ::std::os::raw::c_int,
12916 ui: *const mjUI,
12917 state: *const mjuiState,
12918 con: *const mjrContext,
12919 );
12920}
12921extern "C" {
12922 pub fn mjui_event(
12923 ui: *mut mjUI,
12924 state: *mut mjuiState,
12925 con: *const mjrContext,
12926 ) -> *mut mjuiItem;
12927}
12928extern "C" {
12929 pub fn mjui_render(ui: *mut mjUI, state: *const mjuiState, con: *const mjrContext);
12930}
12931extern "C" {
12932 pub fn mju_error(msg: *const ::std::os::raw::c_char);
12933}
12934extern "C" {
12935 pub fn mju_error_i(msg: *const ::std::os::raw::c_char, i: ::std::os::raw::c_int);
12936}
12937extern "C" {
12938 pub fn mju_error_s(
12939 msg: *const ::std::os::raw::c_char,
12940 text: *const ::std::os::raw::c_char,
12941 );
12942}
12943extern "C" {
12944 pub fn mju_warning(msg: *const ::std::os::raw::c_char);
12945}
12946extern "C" {
12947 pub fn mju_warning_i(msg: *const ::std::os::raw::c_char, i: ::std::os::raw::c_int);
12948}
12949extern "C" {
12950 pub fn mju_warning_s(
12951 msg: *const ::std::os::raw::c_char,
12952 text: *const ::std::os::raw::c_char,
12953 );
12954}
12955extern "C" {
12956 pub fn mju_clearHandlers();
12957}
12958extern "C" {
12959 pub fn mju_malloc(size: usize) -> *mut ::std::os::raw::c_void;
12960}
12961extern "C" {
12962 pub fn mju_free(ptr: *mut ::std::os::raw::c_void);
12963}
12964extern "C" {
12965 pub fn mj_warning(
12966 d: *mut mjData,
12967 warning: ::std::os::raw::c_int,
12968 info: ::std::os::raw::c_int,
12969 );
12970}
12971extern "C" {
12972 pub fn mju_writeLog(
12973 type_: *const ::std::os::raw::c_char,
12974 msg: *const ::std::os::raw::c_char,
12975 );
12976}
12977extern "C" {
12978 pub fn mju_zero3(res: *mut mjtNum);
12979}
12980extern "C" {
12981 pub fn mju_copy3(res: *mut mjtNum, data: *const mjtNum);
12982}
12983extern "C" {
12984 pub fn mju_scl3(res: *mut mjtNum, vec: *const mjtNum, scl: mjtNum);
12985}
12986extern "C" {
12987 pub fn mju_add3(res: *mut mjtNum, vec1: *const mjtNum, vec2: *const mjtNum);
12988}
12989extern "C" {
12990 pub fn mju_sub3(res: *mut mjtNum, vec1: *const mjtNum, vec2: *const mjtNum);
12991}
12992extern "C" {
12993 pub fn mju_addTo3(res: *mut mjtNum, vec: *const mjtNum);
12994}
12995extern "C" {
12996 pub fn mju_subFrom3(res: *mut mjtNum, vec: *const mjtNum);
12997}
12998extern "C" {
12999 pub fn mju_addToScl3(res: *mut mjtNum, vec: *const mjtNum, scl: mjtNum);
13000}
13001extern "C" {
13002 pub fn mju_addScl3(
13003 res: *mut mjtNum,
13004 vec1: *const mjtNum,
13005 vec2: *const mjtNum,
13006 scl: mjtNum,
13007 );
13008}
13009extern "C" {
13010 pub fn mju_normalize3(res: *mut mjtNum) -> mjtNum;
13011}
13012extern "C" {
13013 pub fn mju_norm3(vec: *const mjtNum) -> mjtNum;
13014}
13015extern "C" {
13016 pub fn mju_dot3(vec1: *const mjtNum, vec2: *const mjtNum) -> mjtNum;
13017}
13018extern "C" {
13019 pub fn mju_dist3(pos1: *const mjtNum, pos2: *const mjtNum) -> mjtNum;
13020}
13021extern "C" {
13022 pub fn mju_rotVecMat(res: *mut mjtNum, vec: *const mjtNum, mat: *const mjtNum);
13023}
13024extern "C" {
13025 pub fn mju_rotVecMatT(res: *mut mjtNum, vec: *const mjtNum, mat: *const mjtNum);
13026}
13027extern "C" {
13028 pub fn mju_cross(res: *mut mjtNum, a: *const mjtNum, b: *const mjtNum);
13029}
13030extern "C" {
13031 pub fn mju_zero4(res: *mut mjtNum);
13032}
13033extern "C" {
13034 pub fn mju_unit4(res: *mut mjtNum);
13035}
13036extern "C" {
13037 pub fn mju_copy4(res: *mut mjtNum, data: *const mjtNum);
13038}
13039extern "C" {
13040 pub fn mju_normalize4(res: *mut mjtNum) -> mjtNum;
13041}
13042extern "C" {
13043 pub fn mju_zero(res: *mut mjtNum, n: ::std::os::raw::c_int);
13044}
13045extern "C" {
13046 pub fn mju_copy(res: *mut mjtNum, data: *const mjtNum, n: ::std::os::raw::c_int);
13047}
13048extern "C" {
13049 pub fn mju_sum(vec: *const mjtNum, n: ::std::os::raw::c_int) -> mjtNum;
13050}
13051extern "C" {
13052 pub fn mju_L1(vec: *const mjtNum, n: ::std::os::raw::c_int) -> mjtNum;
13053}
13054extern "C" {
13055 pub fn mju_scl(
13056 res: *mut mjtNum,
13057 vec: *const mjtNum,
13058 scl: mjtNum,
13059 n: ::std::os::raw::c_int,
13060 );
13061}
13062extern "C" {
13063 pub fn mju_add(
13064 res: *mut mjtNum,
13065 vec1: *const mjtNum,
13066 vec2: *const mjtNum,
13067 n: ::std::os::raw::c_int,
13068 );
13069}
13070extern "C" {
13071 pub fn mju_sub(
13072 res: *mut mjtNum,
13073 vec1: *const mjtNum,
13074 vec2: *const mjtNum,
13075 n: ::std::os::raw::c_int,
13076 );
13077}
13078extern "C" {
13079 pub fn mju_addTo(res: *mut mjtNum, vec: *const mjtNum, n: ::std::os::raw::c_int);
13080}
13081extern "C" {
13082 pub fn mju_subFrom(res: *mut mjtNum, vec: *const mjtNum, n: ::std::os::raw::c_int);
13083}
13084extern "C" {
13085 pub fn mju_addToScl(
13086 res: *mut mjtNum,
13087 vec: *const mjtNum,
13088 scl: mjtNum,
13089 n: ::std::os::raw::c_int,
13090 );
13091}
13092extern "C" {
13093 pub fn mju_addScl(
13094 res: *mut mjtNum,
13095 vec1: *const mjtNum,
13096 vec2: *const mjtNum,
13097 scl: mjtNum,
13098 n: ::std::os::raw::c_int,
13099 );
13100}
13101extern "C" {
13102 pub fn mju_normalize(res: *mut mjtNum, n: ::std::os::raw::c_int) -> mjtNum;
13103}
13104extern "C" {
13105 pub fn mju_norm(res: *const mjtNum, n: ::std::os::raw::c_int) -> mjtNum;
13106}
13107extern "C" {
13108 pub fn mju_dot(
13109 vec1: *const mjtNum,
13110 vec2: *const mjtNum,
13111 n: ::std::os::raw::c_int,
13112 ) -> mjtNum;
13113}
13114extern "C" {
13115 pub fn mju_mulMatVec(
13116 res: *mut mjtNum,
13117 mat: *const mjtNum,
13118 vec: *const mjtNum,
13119 nr: ::std::os::raw::c_int,
13120 nc: ::std::os::raw::c_int,
13121 );
13122}
13123extern "C" {
13124 pub fn mju_mulMatTVec(
13125 res: *mut mjtNum,
13126 mat: *const mjtNum,
13127 vec: *const mjtNum,
13128 nr: ::std::os::raw::c_int,
13129 nc: ::std::os::raw::c_int,
13130 );
13131}
13132extern "C" {
13133 pub fn mju_transpose(
13134 res: *mut mjtNum,
13135 mat: *const mjtNum,
13136 nr: ::std::os::raw::c_int,
13137 nc: ::std::os::raw::c_int,
13138 );
13139}
13140extern "C" {
13141 pub fn mju_mulMatMat(
13142 res: *mut mjtNum,
13143 mat1: *const mjtNum,
13144 mat2: *const mjtNum,
13145 r1: ::std::os::raw::c_int,
13146 c1: ::std::os::raw::c_int,
13147 c2: ::std::os::raw::c_int,
13148 );
13149}
13150extern "C" {
13151 pub fn mju_mulMatMatT(
13152 res: *mut mjtNum,
13153 mat1: *const mjtNum,
13154 mat2: *const mjtNum,
13155 r1: ::std::os::raw::c_int,
13156 c1: ::std::os::raw::c_int,
13157 r2: ::std::os::raw::c_int,
13158 );
13159}
13160extern "C" {
13161 pub fn mju_mulMatTMat(
13162 res: *mut mjtNum,
13163 mat1: *const mjtNum,
13164 mat2: *const mjtNum,
13165 r1: ::std::os::raw::c_int,
13166 c1: ::std::os::raw::c_int,
13167 c2: ::std::os::raw::c_int,
13168 );
13169}
13170extern "C" {
13171 pub fn mju_sqrMatTD(
13172 res: *mut mjtNum,
13173 mat: *const mjtNum,
13174 diag: *const mjtNum,
13175 nr: ::std::os::raw::c_int,
13176 nc: ::std::os::raw::c_int,
13177 );
13178}
13179extern "C" {
13180 pub fn mju_transformSpatial(
13181 res: *mut mjtNum,
13182 vec: *const mjtNum,
13183 flg_force: ::std::os::raw::c_int,
13184 newpos: *const mjtNum,
13185 oldpos: *const mjtNum,
13186 rotnew2old: *const mjtNum,
13187 );
13188}
13189extern "C" {
13190 pub fn mju_rotVecQuat(res: *mut mjtNum, vec: *const mjtNum, quat: *const mjtNum);
13191}
13192extern "C" {
13193 pub fn mju_negQuat(res: *mut mjtNum, quat: *const mjtNum);
13194}
13195extern "C" {
13196 pub fn mju_mulQuat(res: *mut mjtNum, quat1: *const mjtNum, quat2: *const mjtNum);
13197}
13198extern "C" {
13199 pub fn mju_mulQuatAxis(res: *mut mjtNum, quat: *const mjtNum, axis: *const mjtNum);
13200}
13201extern "C" {
13202 pub fn mju_axisAngle2Quat(res: *mut mjtNum, axis: *const mjtNum, angle: mjtNum);
13203}
13204extern "C" {
13205 pub fn mju_quat2Vel(res: *mut mjtNum, quat: *const mjtNum, dt: mjtNum);
13206}
13207extern "C" {
13208 pub fn mju_subQuat(res: *mut mjtNum, qa: *const mjtNum, qb: *const mjtNum);
13209}
13210extern "C" {
13211 pub fn mju_quat2Mat(res: *mut mjtNum, quat: *const mjtNum);
13212}
13213extern "C" {
13214 pub fn mju_mat2Quat(quat: *mut mjtNum, mat: *const mjtNum);
13215}
13216extern "C" {
13217 pub fn mju_derivQuat(res: *mut mjtNum, quat: *const mjtNum, vel: *const mjtNum);
13218}
13219extern "C" {
13220 pub fn mju_quatIntegrate(quat: *mut mjtNum, vel: *const mjtNum, scale: mjtNum);
13221}
13222extern "C" {
13223 pub fn mju_quatZ2Vec(quat: *mut mjtNum, vec: *const mjtNum);
13224}
13225extern "C" {
13226 pub fn mju_mulPose(
13227 posres: *mut mjtNum,
13228 quatres: *mut mjtNum,
13229 pos1: *const mjtNum,
13230 quat1: *const mjtNum,
13231 pos2: *const mjtNum,
13232 quat2: *const mjtNum,
13233 );
13234}
13235extern "C" {
13236 pub fn mju_negPose(
13237 posres: *mut mjtNum,
13238 quatres: *mut mjtNum,
13239 pos: *const mjtNum,
13240 quat: *const mjtNum,
13241 );
13242}
13243extern "C" {
13244 pub fn mju_trnVecPose(
13245 res: *mut mjtNum,
13246 pos: *const mjtNum,
13247 quat: *const mjtNum,
13248 vec: *const mjtNum,
13249 );
13250}
13251extern "C" {
13252 pub fn mju_cholFactor(
13253 mat: *mut mjtNum,
13254 n: ::std::os::raw::c_int,
13255 mindiag: mjtNum,
13256 ) -> ::std::os::raw::c_int;
13257}
13258extern "C" {
13259 pub fn mju_cholSolve(
13260 res: *mut mjtNum,
13261 mat: *const mjtNum,
13262 vec: *const mjtNum,
13263 n: ::std::os::raw::c_int,
13264 );
13265}
13266extern "C" {
13267 pub fn mju_cholUpdate(
13268 mat: *mut mjtNum,
13269 x: *mut mjtNum,
13270 n: ::std::os::raw::c_int,
13271 flg_plus: ::std::os::raw::c_int,
13272 ) -> ::std::os::raw::c_int;
13273}
13274extern "C" {
13275 pub fn mju_eig3(
13276 eigval: *mut mjtNum,
13277 eigvec: *mut mjtNum,
13278 quat: *mut mjtNum,
13279 mat: *const mjtNum,
13280 ) -> ::std::os::raw::c_int;
13281}
13282extern "C" {
13283 pub fn mju_muscleGain(
13284 len: mjtNum,
13285 vel: mjtNum,
13286 lengthrange: *const mjtNum,
13287 acc0: mjtNum,
13288 prm: *const mjtNum,
13289 ) -> mjtNum;
13290}
13291extern "C" {
13292 pub fn mju_muscleBias(
13293 len: mjtNum,
13294 lengthrange: *const mjtNum,
13295 acc0: mjtNum,
13296 prm: *const mjtNum,
13297 ) -> mjtNum;
13298}
13299extern "C" {
13300 pub fn mju_muscleDynamics(ctrl: mjtNum, act: mjtNum, prm: *const mjtNum) -> mjtNum;
13301}
13302extern "C" {
13303 pub fn mju_encodePyramid(
13304 pyramid: *mut mjtNum,
13305 force: *const mjtNum,
13306 mu: *const mjtNum,
13307 dim: ::std::os::raw::c_int,
13308 );
13309}
13310extern "C" {
13311 pub fn mju_decodePyramid(
13312 force: *mut mjtNum,
13313 pyramid: *const mjtNum,
13314 mu: *const mjtNum,
13315 dim: ::std::os::raw::c_int,
13316 );
13317}
13318extern "C" {
13319 pub fn mju_springDamper(
13320 pos0: mjtNum,
13321 vel0: mjtNum,
13322 Kp: mjtNum,
13323 Kv: mjtNum,
13324 dt: mjtNum,
13325 ) -> mjtNum;
13326}
13327extern "C" {
13328 pub fn mju_min(a: mjtNum, b: mjtNum) -> mjtNum;
13329}
13330extern "C" {
13331 pub fn mju_max(a: mjtNum, b: mjtNum) -> mjtNum;
13332}
13333extern "C" {
13334 pub fn mju_sign(x: mjtNum) -> mjtNum;
13335}
13336extern "C" {
13337 pub fn mju_round(x: mjtNum) -> ::std::os::raw::c_int;
13338}
13339extern "C" {
13340 pub fn mju_type2Str(type_: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
13341}
13342extern "C" {
13343 pub fn mju_str2Type(str_: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13344}
13345extern "C" {
13346 pub fn mju_warningText(
13347 warning: ::std::os::raw::c_int,
13348 info: ::std::os::raw::c_int,
13349 ) -> *const ::std::os::raw::c_char;
13350}
13351extern "C" {
13352 pub fn mju_isBad(x: mjtNum) -> ::std::os::raw::c_int;
13353}
13354extern "C" {
13355 pub fn mju_isZero(
13356 vec: *mut mjtNum,
13357 n: ::std::os::raw::c_int,
13358 ) -> ::std::os::raw::c_int;
13359}
13360extern "C" {
13361 pub fn mju_standardNormal(num2: *mut mjtNum) -> mjtNum;
13362}
13363extern "C" {
13364 pub fn mju_f2n(res: *mut mjtNum, vec: *const f32, n: ::std::os::raw::c_int);
13365}
13366extern "C" {
13367 pub fn mju_n2f(res: *mut f32, vec: *const mjtNum, n: ::std::os::raw::c_int);
13368}
13369extern "C" {
13370 pub fn mju_d2n(res: *mut mjtNum, vec: *const f64, n: ::std::os::raw::c_int);
13371}
13372extern "C" {
13373 pub fn mju_n2d(res: *mut f64, vec: *const mjtNum, n: ::std::os::raw::c_int);
13374}
13375extern "C" {
13376 pub fn mju_insertionSort(list: *mut mjtNum, n: ::std::os::raw::c_int);
13377}
13378extern "C" {
13379 pub fn mju_Halton(
13380 index: ::std::os::raw::c_int,
13381 base: ::std::os::raw::c_int,
13382 ) -> mjtNum;
13383}
13384extern "C" {
13385 pub fn mju_strncpy(
13386 dst: *mut ::std::os::raw::c_char,
13387 src: *const ::std::os::raw::c_char,
13388 n: ::std::os::raw::c_int,
13389 ) -> *mut ::std::os::raw::c_char;
13390}