use crate::{
mjSpec,
mjsOrientation, mjsBody, mjsFrame, mjsJoint, mjsGeom, mjsSite,
mjsCamera, mjsLight, mjsFlex, mjsMesh, mjsHField, mjsSkin,
mjsTexture, mjsMaterial, mjsPair, mjsEquality, mjsTendon,
mjsActuator, mjsSensor, mjsNumeric, mjsText, mjsTuple,
mjsKey, mjsPlugin,
};
pub fn mjs_defaultSpec() -> mjSpec {
let mut c = Box::<crate::bindgen::mjSpec>::new_uninit();
unsafe { crate::bindgen::mjs_defaultSpec(c.as_mut_ptr()); }
mjSpec::from_raw(Box::into_raw(unsafe { c.assume_init() }))
}
pub fn mjs_defaultOrientation() -> mjsOrientation {
let mut c = std::mem::MaybeUninit::<mjsOrientation>::uninit();
unsafe { crate::bindgen::mjs_defaultOrientation(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultBody() -> mjsBody {
let mut c = std::mem::MaybeUninit::<mjsBody>::uninit();
unsafe { crate::bindgen::mjs_defaultBody(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultFrame() -> mjsFrame {
let mut c = std::mem::MaybeUninit::<mjsFrame>::uninit();
unsafe { crate::bindgen::mjs_defaultFrame(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultJoint() -> mjsJoint {
let mut c = std::mem::MaybeUninit::<mjsJoint>::uninit();
unsafe { crate::bindgen::mjs_defaultJoint(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultGeom() -> mjsGeom {
let mut c = std::mem::MaybeUninit::<mjsGeom>::uninit();
unsafe { crate::bindgen::mjs_defaultGeom(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultSite() -> mjsSite {
let mut c = std::mem::MaybeUninit::<mjsSite>::uninit();
unsafe { crate::bindgen::mjs_defaultSite(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultCamera() -> mjsCamera {
let mut c = std::mem::MaybeUninit::<mjsCamera>::uninit();
unsafe { crate::bindgen::mjs_defaultCamera(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultLight() -> mjsLight {
let mut c = std::mem::MaybeUninit::<mjsLight>::uninit();
unsafe { crate::bindgen::mjs_defaultLight(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultFlex() -> mjsFlex {
let mut c = std::mem::MaybeUninit::<mjsFlex>::uninit();
unsafe { crate::bindgen::mjs_defaultFlex(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultMesh() -> mjsMesh {
let mut c = std::mem::MaybeUninit::<mjsMesh>::uninit();
unsafe { crate::bindgen::mjs_defaultMesh(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultHField() -> mjsHField {
let mut c = std::mem::MaybeUninit::<mjsHField>::uninit();
unsafe { crate::bindgen::mjs_defaultHField(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultSkin() -> mjsSkin {
let mut c = std::mem::MaybeUninit::<mjsSkin>::uninit();
unsafe { crate::bindgen::mjs_defaultSkin(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultTexture() -> mjsTexture {
let mut c = std::mem::MaybeUninit::<mjsTexture>::uninit();
unsafe { crate::bindgen::mjs_defaultTexture(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultMaterial() -> mjsMaterial {
let mut c = std::mem::MaybeUninit::<mjsMaterial>::uninit();
unsafe { crate::bindgen::mjs_defaultMaterial(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultPair() -> mjsPair {
let mut c = std::mem::MaybeUninit::<mjsPair>::uninit();
unsafe { crate::bindgen::mjs_defaultPair(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultEquality() -> mjsEquality {
let mut c = std::mem::MaybeUninit::<mjsEquality>::uninit();
unsafe { crate::bindgen::mjs_defaultEquality(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultTendon() -> mjsTendon {
let mut c = std::mem::MaybeUninit::<mjsTendon>::uninit();
unsafe { crate::bindgen::mjs_defaultTendon(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultActuator() -> mjsActuator {
let mut c = std::mem::MaybeUninit::<mjsActuator>::uninit();
unsafe { crate::bindgen::mjs_defaultActuator(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultSensor() -> mjsSensor {
let mut c = std::mem::MaybeUninit::<mjsSensor>::uninit();
unsafe { crate::bindgen::mjs_defaultSensor(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultNumeric() -> mjsNumeric {
let mut c = std::mem::MaybeUninit::<mjsNumeric>::uninit();
unsafe { crate::bindgen::mjs_defaultNumeric(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultText() -> mjsText {
let mut c = std::mem::MaybeUninit::<mjsText>::uninit();
unsafe { crate::bindgen::mjs_defaultText(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultTuple() -> mjsTuple {
let mut c = std::mem::MaybeUninit::<mjsTuple>::uninit();
unsafe { crate::bindgen::mjs_defaultTuple(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultKey() -> mjsKey {
let mut c = std::mem::MaybeUninit::<mjsKey>::uninit();
unsafe { crate::bindgen::mjs_defaultKey(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}
pub fn mjs_defaultPlugin() -> mjsPlugin {
let mut c = std::mem::MaybeUninit::<mjsPlugin>::uninit();
unsafe { crate::bindgen::mjs_defaultPlugin(c.as_mut_ptr()); }
unsafe { c.assume_init() }
}