Add support for user-defined figures in the MuJoCo viewer.

PiperOrigin-RevId: 726983516
Change-Id: Ifb821f3cafb163d4f3077d76b0668037b4bc5a9c
This commit is contained in:
Google DeepMind
2025-02-14 10:44:50 -08:00
committed by Copybara-Service
parent 6f0bd0a5f8
commit 37d7591ce0
5 changed files with 72 additions and 19 deletions
+9
View File
@@ -542,6 +542,10 @@ void ShowSensor(mj::Simulate* sim, mjrRect rect) {
mjr_figure(viewport, &sim->figsensor, &sim->platform_ui->mjr_context());
}
void ShowFigure(mj::Simulate* sim, mjrRect viewport, mjvFigure* fig){
mjr_figure(viewport, fig, &sim->platform_ui->mjr_context());
}
// load state from history buffer
static void LoadScrubState(mj::Simulate* sim) {
// get index into circular buffer
@@ -2588,6 +2592,11 @@ void Simulate::Render() {
}
}
// user figures
for (auto& [viewport, figure] : this->user_figures_) {
ShowFigure(this, viewport, &figure);
}
// finalize
this->platform_ui->SwapBuffers();
}