Add mjData flags marking lazily evaluated pipeline stages

PiperOrigin-RevId: 861763477
Change-Id: Ib613c56949264573a16306800658f868d2aa7665
This commit is contained in:
Yuval Tassa
2026-01-27 09:44:16 -08:00
committed by Copybara-Service
parent ba32568138
commit 5fb47df197
12 changed files with 124 additions and 73 deletions
+6
View File
@@ -233,6 +233,12 @@ struct mjData_ {
int nparent_awake; // number of bodies with awake parents
int nv_awake; // number of awake dofs
// flags marking lazily evaluated stages
mjtByte flg_energypos; // has mj_energyPos been called
mjtByte flg_energyvel; // has mj_energyVel been called
mjtByte flg_subtreevel; // has mj_subtreeVel been called
mjtByte flg_rnepost; // has mj_rnePostConstraint been called
// global properties
mjtNum time; // simulation time
mjtNum energy[2]; // potential, kinetic energy
+4
View File
@@ -915,6 +915,10 @@
X( int, nbody_awake ) \
X( int, nparent_awake ) \
X( int, nv_awake ) \
X( mjtByte, flg_energypos ) \
X( mjtByte, flg_energyvel ) \
X( mjtByte, flg_subtreevel ) \
X( mjtByte, flg_rnepost ) \
X( mjtNum, time ) \
X( uintptr_t, threadpool )