Do not modify mesh position when fitting a geom to the mesh AABB.

Also, unify the meaning of fitting a geom to an AABB: it now means to find the smallest geom such that its AABB contains the mesh AABB.

Fixes #2881.

PiperOrigin-RevId: 817097544
Change-Id: I883c686feffa803bd16ba461db24a474dfec7712
This commit is contained in:
Alessio Quaglino
2025-10-09 03:04:14 -07:00
committed by Copybara-Service
parent 3a299c49ca
commit 98682ae284
7 changed files with 41 additions and 63 deletions
+6 -6
View File
@@ -735,12 +735,12 @@ has any effect. The settings here are global and apply to the entire model.
:at:`fitaabb`: :at-val:`[false, true], "false"`
The compiler is able to replace a mesh with a geometric primitive fitted to that mesh; see :ref:`geom <body-geom>`
below. If this attribute is "true", the fitting procedure uses the axis-aligned bounding box (aabb) of the mesh.
Otherwise it uses the equivalent-inertia box of the mesh. The type of geometric primitive used for fitting is
specified separately for each geom. The models used to generate the image on the right can be found
`here <https://github.com/google-deepmind/mujoco/blob/main/test/user/testdata/fitmesh_inertiabox.xml>`__ (fit inertia
box) and `here <https://github.com/google-deepmind/mujoco/blob/main/test/user/testdata/fitmesh_aabb.xml>`__ (fit
aabb).
below. If this attribute is "true", the fitting procedure uses the axis-aligned bounding box (AABB) of the mesh,
choosing the smallest primitive whose AABB contains the mesh AABB. Otherwise it uses the equivalent-inertia box of
the mesh. The type of geometric primitive used for fitting is specified separately for each geom. The models used to
generate the image on the right can be found `here
<https://github.com/google-deepmind/mujoco/blob/main/test/user/testdata/fitmesh_inertiabox.xml>`__ (fit inertia box)
and `here <https://github.com/google-deepmind/mujoco/blob/main/test/user/testdata/fitmesh_aabb.xml>`__ (fit aabb).
.. _compiler-eulerseq: