Skip to content

Commit d74e904

Browse files
Drop full_data and dead helpers from OVPhysX RigidObject
Address Antoine's PR #5426 review comments: * Rename set_root_*_to_sim kernels to *_to_sim_index and drop the from_mask flag plus unused root_*_state_w outputs (RigidObject does not have those state buffers). Same simplification for write_2d_data_to_buffer_with_indices, write_body_inertia_to_buffer, and write_body_com_pose_to_buffer (renamed to *_index). * Drop the full_data parameter from every *_index writer and setter on RigidObject; index methods strictly accept partial data shaped (len(env_ids), ...). Full-data callers should use the matching *_mask overload. Matches Newton/PhysX convention. * Replace the deprecated write_root_state_to_sim shims' use of the internal _write_body_state plumbing with direct calls to the public write_root_*_to_sim_index methods, mirroring PhysX/Newton. * Remove the GPU-side write plumbing (_write_body_state, _com_pose_to_link_pose, _to_flat_f32, _as_gpu_f32_2d, _get_write_scratch, _stage_to_pinned_cpu, _binding_write, _binding_read, _to_cpu_numpy, _to_cpu_indices, _env_ids_to_gpu_warp, _n_envs_index) that those shims relied on. * Remove the now-unused _compose_root_link_pose_from_com kernel; the set_root_com_pose_to_sim_* kernels recover the link pose inline via get_com_pose_in_link_frame_func. * Remove the masses 1-D-to-(K, 1) auto-reshape from set_masses_index; callers must pass shape (len(env_ids), len(body_ids)) explicitly. * Reword every public docstring on RigidObject to follow the Newton/PhysX template (one-line summary, .. note:: / .. tip:: blocks, Args: block with shape/dtype on the parameter line). test_rigid_body_set_mass updated to drop the now-unnecessary masses.squeeze(-1) call (matches the Newton test's signature). Bumps isaaclab_ovphysx 0.2.15 -> 0.2.16.
1 parent 588c1c8 commit d74e904

5 files changed

Lines changed: 384 additions & 675 deletions

File tree

source/isaaclab_ovphysx/config/extension.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22

33
# Note: Semantic Versioning is used: https://semver.org/
4-
version = "0.2.15"
4+
version = "0.2.16"
55

66
# Description
77
title = "OvPhysX simulation interfaces for IsaacLab core package"

source/isaaclab_ovphysx/docs/CHANGELOG.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,51 @@
11
Changelog
22
---------
33

4+
0.2.16 (2026-04-30)
5+
~~~~~~~~~~~~~~~~~~~~
6+
7+
Changed
8+
^^^^^^^
9+
10+
* Aligned :class:`~isaaclab_ovphysx.assets.RigidObject` with the Newton-style
11+
index/mask kernel split: ``set_root_link_pose_to_sim``,
12+
``set_root_com_pose_to_sim``, ``set_root_com_velocity_to_sim``, and
13+
``set_root_link_velocity_to_sim`` are renamed to ``*_to_sim_index`` and no
14+
longer take a ``from_mask`` flag or unused ``root_link_state_w`` /
15+
``root_state_w`` outputs. Same simplification for
16+
``write_2d_data_to_buffer_with_indices``,
17+
``write_body_inertia_to_buffer_index``, and
18+
``write_body_com_pose_to_buffer_index``.
19+
* Dropped the ``full_data`` parameter from every
20+
:class:`~isaaclab_ovphysx.assets.RigidObject` ``*_index`` writer / setter
21+
(``write_root_*_to_sim_index``, ``set_masses_index``, ``set_coms_index``,
22+
``set_inertias_index``). Index methods now strictly accept partial data
23+
shaped ``(len(env_ids), ...)``; full-data callers should use the matching
24+
``*_mask`` overload instead. This matches the Newton/PhysX convention.
25+
* Reworded every public docstring on
26+
:class:`~isaaclab_ovphysx.assets.RigidObject` to follow the Newton/PhysX
27+
template (one-line summary, ``.. note::`` and ``.. tip::`` blocks,
28+
``Args:`` block with shape/dtype on the parameter line).
29+
30+
Removed
31+
^^^^^^^
32+
33+
* Removed the GPU-side write plumbing
34+
(``RigidObject._write_body_state``, ``_com_pose_to_link_pose``,
35+
``_to_flat_f32``, ``_as_gpu_f32_2d``, ``_get_write_scratch``,
36+
``_stage_to_pinned_cpu``, ``_binding_write``, ``_binding_read``,
37+
``_to_cpu_numpy``, ``_to_cpu_indices``, ``_env_ids_to_gpu_warp``,
38+
``_n_envs_index``). The deprecated ``write_root_state_to_sim`` /
39+
``write_root_com_state_to_sim`` / ``write_root_link_state_to_sim`` shims now
40+
call the public ``write_root_*_to_sim_index`` methods directly, mirroring
41+
PhysX/Newton.
42+
* Removed the now-unused ``_compose_root_link_pose_from_com`` kernel from
43+
:mod:`isaaclab_ovphysx.assets.kernels`; the ``set_root_com_pose_to_sim_*``
44+
kernels recover the link pose inline via ``get_com_pose_in_link_frame_func``.
45+
* Removed the ``masses`` 1-D-to-``(K, 1)`` auto-reshape from
46+
:meth:`~isaaclab_ovphysx.assets.RigidObject.set_masses_index`; callers must
47+
pass shape ``(len(env_ids), len(body_ids))`` explicitly (matches PhysX).
48+
449
0.2.15 (2026-04-30)
550
~~~~~~~~~~~~~~~~~~~~
651

0 commit comments

Comments
 (0)