Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions source/isaaclab/changelog.d/ovphysx-raycaster-dispatch.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Fixed
^^^^^

* Fixed :class:`~isaaclab.sensors.ray_caster.RayCaster`,
:class:`~isaaclab.sensors.ray_caster.RayCasterCamera`,
:class:`~isaaclab.sensors.ray_caster.MultiMeshRayCaster`, and
:class:`~isaaclab.sensors.ray_caster.MultiMeshRayCasterCamera` factory
dispatch under the OVPhysX backend. Each factory's
``_backend_class_names`` now routes ``"ovphysx"`` to the corresponding
class in :mod:`isaaclab_ovphysx.sensors.ray_caster` instead of raising
``ModuleNotFoundError``.
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,8 @@
class MultiMeshRayCaster(FactoryBase, BaseMultiMeshRayCaster):
"""Backend-dispatching multi-mesh ray-caster sensor."""

_backend_class_names = {"physx": "MultiMeshRayCaster", "newton": "MultiMeshRayCaster"}
_backend_class_names = {
"physx": "MultiMeshRayCaster",
"newton": "MultiMeshRayCaster",
"ovphysx": "MultiMeshRayCaster",
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,8 @@
class MultiMeshRayCasterCamera(FactoryBase, BaseMultiMeshRayCasterCamera):
"""Backend-dispatching multi-mesh ray-caster camera sensor."""

_backend_class_names = {"physx": "MultiMeshRayCasterCamera", "newton": "MultiMeshRayCasterCamera"}
_backend_class_names = {
"physx": "MultiMeshRayCasterCamera",
"newton": "MultiMeshRayCasterCamera",
"ovphysx": "MultiMeshRayCasterCamera",
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
class RayCaster(FactoryBase, BaseRayCaster):
"""Backend-dispatching ray-caster sensor."""

_backend_class_names = {"physx": "RayCaster", "newton": "RayCaster"}
_backend_class_names = {"physx": "RayCaster", "newton": "RayCaster", "ovphysx": "RayCaster"}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
class RayCasterCamera(FactoryBase, BaseRayCasterCamera):
"""Backend-dispatching ray-caster camera sensor."""

_backend_class_names = {"physx": "RayCasterCamera", "newton": "RayCasterCamera"}
_backend_class_names = {"physx": "RayCasterCamera", "newton": "RayCasterCamera", "ovphysx": "RayCasterCamera"}
15 changes: 15 additions & 0 deletions source/isaaclab_ovphysx/changelog.d/ovphysx-raycaster.minor.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Added
^^^^^

* Added :mod:`isaaclab_ovphysx.sensors.ray_caster` with
:class:`~isaaclab_ovphysx.sensors.ray_caster.RayCaster`,
:class:`~isaaclab_ovphysx.sensors.ray_caster.RayCasterCamera`,
:class:`~isaaclab_ovphysx.sensors.ray_caster.MultiMeshRayCaster`, and
:class:`~isaaclab_ovphysx.sensors.ray_caster.MultiMeshRayCasterCamera`.
Mirrors :mod:`isaaclab_physx.sensors.ray_caster` structure: a single
``_OvPhysxRayCasterMixin`` carries the backend-specific pose-tracking
surface, reading body poses via the ovphysx
``create_tensor_binding(pattern=..., tensor_type=RIGID_BODY_POSE)``
API. Static (non-physics) sensor frames fall back to a one-time USD
pose snapshot. Unblocks ``Isaac-Velocity-Rough-Anymal-D-v0`` (the
height_scanner now dispatches under OVPhysX).
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

"""Sub-module for OVPhysX ray-caster sensors."""

from isaaclab.utils.module import lazy_export

lazy_export()
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

__all__ = [
"MultiMeshRayCaster",
"MultiMeshRayCasterCamera",
"RayCaster",
"RayCasterCamera",
]

from .multi_mesh_ray_caster import MultiMeshRayCaster
from .multi_mesh_ray_caster_camera import MultiMeshRayCasterCamera
from .ray_caster import RayCaster
from .ray_caster_camera import RayCasterCamera
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

from __future__ import annotations

from isaaclab.sensors.ray_caster.base_multi_mesh_ray_caster import BaseMultiMeshRayCaster

from .ray_caster import _OvPhysxRayCasterMixin


class MultiMeshRayCaster(_OvPhysxRayCasterMixin, BaseMultiMeshRayCaster):
"""OVPhysX MultiMeshRayCaster implementation."""
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

from __future__ import annotations

from isaaclab.sensors.ray_caster.base_multi_mesh_ray_caster_camera import BaseMultiMeshRayCasterCamera

from .ray_caster import _OvPhysxRayCasterMixin


class MultiMeshRayCasterCamera(_OvPhysxRayCasterMixin, BaseMultiMeshRayCasterCamera):
"""OVPhysX MultiMeshRayCasterCamera implementation."""
Loading
Loading