diff --git a/doc/changelog.rst b/doc/changelog.rst index 8844f301..653cb75a 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -5,27 +5,29 @@ Changelog Upcoming version (not yet released) ----------------------------------- -.. youtube:: hqIMTNGaLF4 +.. youtube:: ZppeDArq6AU :align: right :width: 240px +Models +^^^^^^ + +- Added `3x3x3 cube `__ example model. See + `README `__ for details. Bug fixes -^^^^^^^ +^^^^^^^^^ - Fixed a bug that was causing an incorrect computation of the mesh bounding box and coordinate frame if the volume was - invalid. In such case, now MuJoCo only accepts a non-watertight geometry if :ref:`shellinertia` - is equal to ``true``. - + invalid. In such case, now MuJoCo only accepts a non-watertight geometry if + :ref:`shellinertia` is equal to ``true``. - Fixed the sparse Jacobian multiplication logic that is used to compute derivatives for tendon damping and fluid force, which affects the behaviour of the :ref:`implicit and implicitfast integrators`. +- Fixes to :ref:`mj_ray`, in line with geom visualisation conventions: -Plugins -^^^^^^^ - -- Added touch-grid sensor plugin. See `documentation `_ - for details, and associated `touch_grid.xml `_ - example model. The plugin includes `in-scene visualisation `_. + - Planes and height-fields respect the `geom_group` and `flg_static` arguments. Before this change, rays would + intersect planes and height-fields unconditionally. + - ``flg_static`` now apllies to all static geoms, not just those which are direct children of the world body. General ^^^^^^^ @@ -55,16 +57,17 @@ General model, within a range of width tausmooth. See :ref:`Muscle actuators` for more details. Relatedly, :ref:`mju_muscleDynamics` now takes 3 parameters instead of 2, adding the new smoothing-width parameter. - -.. youtube:: ZppeDArq6AU +.. youtube:: hqIMTNGaLF4 :align: right :width: 240px -Models -^^^^^^ +Plugins +^^^^^^^ + +- Added touch-grid sensor plugin. See `documentation `_ + for details, and associated `touch_grid.xml `_ + example model. The plugin includes `in-scene visualisation `_. -- Added `3x3x3 cube `__ example model. See - `README `__ for details. Version 2.3.5 (April 25, 2023) ------------------------------ diff --git a/src/engine/engine_ray.c b/src/engine/engine_ray.c index 0ac2ec6e..f382754c 100644 --- a/src/engine/engine_ray.c +++ b/src/engine/engine_ray.c @@ -82,15 +82,10 @@ static int ray_eliminate(const mjModel* m, const mjData* d, int geomid, } // static exclusion - if (!flg_static && m->geom_bodyid[geomid]==0) { + if (!flg_static && m->body_weldid[m->geom_bodyid[geomid]]==0) { return 1; } - // plane and hfield inclusion - if (m->geom_type[geomid]==mjGEOM_PLANE || m->geom_type[geomid]==mjGEOM_HFIELD) { - return 0; - } - // no geomgroup inclusion if (!geomgroup) { return 0; diff --git a/test/engine/engine_ray_test.cc b/test/engine/engine_ray_test.cc index 20fff235..362d600f 100644 --- a/test/engine/engine_ray_test.cc +++ b/test/engine/engine_ray_test.cc @@ -39,10 +39,10 @@ static constexpr char kSingleGeomModel[] = R"( static constexpr char kRayCastingModel[] = R"( - + +