From 783e6499d8f96fc9f476a60523620ad2d40bdf48 Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Mon, 7 Jul 2025 08:32:14 -0700 Subject: [PATCH] Remove explicit mjModel dependency from engine_util_misc.c PiperOrigin-RevId: 780123513 Change-Id: I567e09db3cd13a93a4720742affb62b54bfa5426 --- src/engine/engine_derivative.c | 2 +- src/engine/engine_passive.c | 2 +- src/engine/engine_util_misc.c | 5 ++--- src/engine/engine_util_misc.h | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/engine/engine_derivative.c b/src/engine/engine_derivative.c index d8b4c8bc..7bd35a95 100644 --- a/src/engine/engine_derivative.c +++ b/src/engine/engine_derivative.c @@ -1193,7 +1193,7 @@ void mjd_ellipsoidFluid(const mjModel* m, mjData* d, int bodyid) { for (int j=0; j < m->body_geomnum[bodyid]; j++) { const int geomid = m->body_geomadr[bodyid] + j; - mju_geomSemiAxes(m, geomid, semiaxes); + mju_geomSemiAxes(semiaxes, m->geom_size + 3*geomid, m->geom_type[geomid]); readFluidGeomInteraction( m->geom_fluid + mjNFLUID*geomid, &geom_interaction_coef, diff --git a/src/engine/engine_passive.c b/src/engine/engine_passive.c index 5b0d1b5b..5e222340 100644 --- a/src/engine/engine_passive.c +++ b/src/engine/engine_passive.c @@ -635,7 +635,7 @@ void mj_ellipsoidFluidModel(const mjModel* m, mjData* d, int bodyid) { for (int j=0; j < m->body_geomnum[bodyid]; j++) { const int geomid = m->body_geomadr[bodyid] + j; - mju_geomSemiAxes(m, geomid, semiaxes); + mju_geomSemiAxes(semiaxes, m->geom_size + 3*geomid, m->geom_type[geomid]); readFluidGeomInteraction( m->geom_fluid + mjNFLUID*geomid, &geom_interaction_coef, diff --git a/src/engine/engine_util_misc.c b/src/engine/engine_util_misc.c index 03435f48..1ca318fb 100644 --- a/src/engine/engine_util_misc.c +++ b/src/engine/engine_util_misc.c @@ -422,9 +422,8 @@ mjtNum mju_wrap(mjtNum wpnt[6], const mjtNum x0[3], const mjtNum x1[3], // all 3 semi-axes of a geom -void mju_geomSemiAxes(const mjModel* m, int geom_id, mjtNum semiaxes[3]) { - mjtNum* size = m->geom_size + 3*geom_id; - switch ((mjtGeom) m->geom_type[geom_id]) { +void mju_geomSemiAxes(mjtNum semiaxes[3], const mjtNum size[3], mjtGeom type) { + switch (type) { case mjGEOM_SPHERE: semiaxes[0] = size[0]; semiaxes[1] = size[0]; diff --git a/src/engine/engine_util_misc.h b/src/engine/engine_util_misc.h index f7f23782..9c6db647 100644 --- a/src/engine/engine_util_misc.h +++ b/src/engine/engine_util_misc.h @@ -51,7 +51,7 @@ MJAPI mjtNum mju_muscleDynamicsTimescale(mjtNum dctrl, mjtNum tau_act, mjtNum ta MJAPI mjtNum mju_muscleDynamics(mjtNum ctrl, mjtNum act, const mjtNum prm[3]); // all 3 semi-axes of a geom -MJAPI void mju_geomSemiAxes(const mjModel* m, int geom_id, mjtNum semiaxes[3]); +MJAPI void mju_geomSemiAxes(mjtNum semiaxes[3], const mjtNum size[3], mjtGeom type); // ----------------------------- Flex interpolation ------------------------------------------------