Source code for isaaclab.sim.converters.mesh_converter_cfg

# 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 isaaclab.sim.converters.asset_converter_base_cfg import AssetConverterBaseCfg
from isaaclab.sim.schemas import schemas_cfg
from isaaclab.utils.configclass import configclass


[docs] @configclass class MeshConverterCfg(AssetConverterBaseCfg): """The configuration class for MeshConverter.""" mass_props: schemas_cfg.MassPropertiesCfg = None """Mass properties to apply to the USD. Defaults to None. Note: If None, then no mass properties will be added. """ rigid_props: schemas_cfg.RigidBodyBaseCfg = None """Rigid body properties to apply to the USD. Defaults to None. Note: If None, then no rigid body properties will be added. """ collision_props: ( schemas_cfg.CollisionPropertiesCfg | schemas_cfg.CollisionFragment | list[schemas_cfg.CollisionFragment] ) = None """Collision properties to apply to the USD. Defaults to None. Accepts either a single legacy cfg (e.g. :class:`~isaaclab.sim.schemas.CollisionBaseCfg`) or a list of :class:`~isaaclab.sim.schemas.CollisionFragment` fragments. When a fragment list is given, ``UsdPhysics.CollisionAPI`` is applied as the implicit anchor and each fragment writes its own namespace. Note: If None, then no collision properties will be added. """ mesh_collision_props: ( schemas_cfg.MeshCollisionBaseCfg | schemas_cfg.MeshCollisionFragment | list[schemas_cfg.MeshCollisionFragment] | None ) = None """Mesh approximation properties to apply to all collision meshes in the USD. Accepts either a single legacy cfg (e.g. :class:`~isaaclab.sim.schemas.MeshCollisionBaseCfg` or a ``Physx*PropertiesCfg`` cooking cfg) or a list of :class:`~isaaclab.sim.schemas.MeshCollisionFragment` fragments (e.g. ``[UsdPhysicsMeshCollisionCfg(...), PhysxConvexHullCfg(...)]``). When a fragment list is given, ``UsdPhysics.MeshCollisionAPI`` is applied as the implicit anchor, the ``physics:approximation`` token is resolved from whichever cooking fragment is present, and each fragment writes its own namespace. Note: If None, then no mesh approximation properties will be added. """ translation: tuple[float, float, float] = (0.0, 0.0, 0.0) """The translation of the mesh to the origin. Defaults to (0.0, 0.0, 0.0).""" rotation: tuple[float, float, float, float] = (0.0, 0.0, 0.0, 1.0) """The rotation of the mesh in quaternion format (x, y, z, w). Defaults to (0.0, 0.0, 0.0, 1.0).""" scale: tuple[float, float, float] = (1.0, 1.0, 1.0) """The scale of the mesh. Defaults to (1.0, 1.0, 1.0)."""