pub struct MjViewerCpp<'m> { /* private fields */ }
Expand description
Wrapper around the C++ implementation of MujoCo viewer.
If you don’t need the side UI, we recommend you use the Rust-native viewer MjViewer
instead.
Implementations§
Source§impl<'m> MjViewerCpp<'m>
impl<'m> MjViewerCpp<'m>
pub fn running(&self) -> bool
pub fn user_scn_mut(&mut self) -> &mut MjvScene<'m>
Sourcepub fn launch_passive(
model: &'m MjModel,
data: &MjData<'_>,
scene_max_geom: usize,
) -> Self
pub fn launch_passive( model: &'m MjModel, data: &MjData<'_>, scene_max_geom: usize, ) -> Self
Launches a wrapper around MuJoCo’s C++ viewer. The scene_max_geom
parameter
defines how much space will be allocated for additional, user-defined visual-only geoms.
It can thus be set to 0 if no additional geoms will be drawn by the user.
Unlike the Rust-native viewer (MjViewer
), this also accepts a data
parameter.
Additionally, this just returns a MjViewerCpp
instance directly, without result
as the initialization may fail internally in C++ anyway, which we have no way of checking.
§Safety
To allow certain flexibility, while still maintaining
compatibility with the C++ code, MjViewerCpp
keeps internals pointers to mjModel and mjData,
which are wrapped inside MjModel
and MjData
, respectively.
This technically allows model
and data
to be modified
while the viewer keeps a pointer to them (their wrapped pointers).
Undefined behavior should not occur, however caution is advised as this is a violation
of the Rust’s borrowing rules.
Sourcepub fn __raw(&self) -> *mut mujoco_Simulate
pub fn __raw(&self) -> *mut mujoco_Simulate
Returns the underlying C++ binding object of the viewer.