Add user sensor visualization in simulate. This is triggered when the product of sensor_intprm[0] and sensor_intprm[1] is equal to the sensor data dimension divided by 3 (the RGB channels).

PiperOrigin-RevId: 878473154
Change-Id: Icb3d7e9b766c49e3a9abe3f8bceea57e18e43328
This commit is contained in:
Alessio Quaglino
2026-03-04 07:06:15 -08:00
committed by Copybara-Service
parent 4e83e813d7
commit 15d8fc13b9
2 changed files with 161 additions and 2 deletions
+11
View File
@@ -268,6 +268,17 @@ class Simulate {
mjvFigure figsize = {};
mjvFigure figsensor = {};
// Image sensor visualization - displays pre-rendered images from mjSENS_USER
int image_sensor_count = 0;
int selected_image_sensor = -1; // -1 = show bar chart
int image_sensor_ui_selection = 0; // UI dropdown index (0=All, 1+=sensor)
std::vector<int> image_sensor_indices;
std::vector<std::string> image_sensor_names;
std::unique_ptr<unsigned char[]> sensor_image;
int sensor_image_width = 0;
int sensor_image_height = 0;
int sensor_image_last_seq = -1; // Last seq read from sensordata
// additional user-defined visualization
mjvScene* user_scn = nullptr;
mjtByte user_scn_flags_prev_[mjNRNDFLAG];