Copybara import of the project:

--
c9acc0a6f677951db34f2b607bd60fc18a43f72b by Levi Burner <leviburner@gmail.com>:

Fix race condition in Python viewers set_X methods

--
b89ab8f7a0f628ee7a02ebfbac2a97f113112076 by Levi Burner <leviburner@gmail.com>:

use std::swap to replace some copying

--
02625bed0cffbfc9ea4537f74689f0bbcb8bf44c by Levi Burner <leviburner@gmail.com>:

fix whitespace

COPYBARA_INTEGRATE_REVIEW=https://github.com/google-deepmind/mujoco/pull/2613 from aftersomemath:simulate-set-race 02625bed0cffbfc9ea4537f74689f0bbcb8bf44c
PiperOrigin-RevId: 766646168
Change-Id: I1e1dc16afbfb1e69fb958d54bd1075cc9aed3569
This commit is contained in:
Levi Burner
2025-06-03 07:00:24 -07:00
committed by Copybara-Service
parent fe81373ffe
commit 3eb31f56cd
3 changed files with 91 additions and 29 deletions
+7 -1
View File
@@ -206,6 +206,9 @@ class Simulate {
std::atomic_int droploadrequest = 0;
std::atomic_int screenshotrequest = 0;
std::atomic_int uiloadrequest = 0;
std::atomic_int newfigurerequest = 0;
std::atomic_int newtextrequest = 0;
std::atomic_int newimagerequest = 0;
// loadrequest
// 3: display a loading message
@@ -263,8 +266,11 @@ class Simulate {
mjvScene* user_scn = nullptr;
mjtByte user_scn_flags_prev_[mjNRNDFLAG];
std::vector<std::pair<mjrRect, mjvFigure>> user_figures_;
std::vector<std::pair<mjrRect, mjvFigure>> user_figures_new_;
std::vector<std::tuple<int, int, std::string, std::string>> user_texts_;
std::vector<std::tuple<mjrRect, unsigned char*>> user_images_;
std::vector<std::tuple<int, int, std::string, std::string>> user_texts_new_;
std::vector<std::tuple<mjrRect, std::unique_ptr<unsigned char[]>>> user_images_;
std::vector<std::tuple<mjrRect, std::unique_ptr<unsigned char[]>>> user_images_new_;
// OpenGL rendering and UI
int refresh_rate = 60;