:py:mod:`rofunc.utils.robolab.formatter.mjcf`
=============================================

.. py:module:: rofunc.utils.robolab.formatter.mjcf

.. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf
   :allowtitles:

Module Contents
---------------

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`get_body_geoms <rofunc.utils.robolab.formatter.mjcf.get_body_geoms>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.get_body_geoms
          :summary:
   * - :py:obj:`body_to_link <rofunc.utils.robolab.formatter.mjcf.body_to_link>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.body_to_link
          :summary:
   * - :py:obj:`joint_to_joint <rofunc.utils.robolab.formatter.mjcf.joint_to_joint>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.joint_to_joint
          :summary:
   * - :py:obj:`add_composite_joint <rofunc.utils.robolab.formatter.mjcf.add_composite_joint>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.add_composite_joint
          :summary:
   * - :py:obj:`build_chain_from_mjcf <rofunc.utils.robolab.formatter.mjcf.build_chain_from_mjcf>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.build_chain_from_mjcf
          :summary:
   * - :py:obj:`build_serial_chain_from_mjcf <rofunc.utils.robolab.formatter.mjcf.build_serial_chain_from_mjcf>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.build_serial_chain_from_mjcf
          :summary:

Data
~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`JOINT_TYPE_MAP <rofunc.utils.robolab.formatter.mjcf.JOINT_TYPE_MAP>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.JOINT_TYPE_MAP
          :summary:

API
~~~

.. py:data:: JOINT_TYPE_MAP
   :canonical: rofunc.utils.robolab.formatter.mjcf.JOINT_TYPE_MAP
   :value: None

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.JOINT_TYPE_MAP

.. py:function:: get_body_geoms(m: mujoco.MjModel, body: mujoco._structs._MjModelBodyViews, base: typing.Optional[pytorch_kinematics.transforms.Transform3d] = None)
   :canonical: rofunc.utils.robolab.formatter.mjcf.get_body_geoms

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.get_body_geoms

.. py:function:: body_to_link(body, base: typing.Optional[pytorch_kinematics.transforms.Transform3d] = None)
   :canonical: rofunc.utils.robolab.formatter.mjcf.body_to_link

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.body_to_link

.. py:function:: joint_to_joint(joint, base: typing.Optional[pytorch_kinematics.transforms.Transform3d] = None)
   :canonical: rofunc.utils.robolab.formatter.mjcf.joint_to_joint

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.joint_to_joint

.. py:function:: add_composite_joint(root_frame, joints, base: typing.Optional[pytorch_kinematics.transforms.Transform3d] = None)
   :canonical: rofunc.utils.robolab.formatter.mjcf.add_composite_joint

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.add_composite_joint

.. py:function:: build_chain_from_mjcf(data, body: typing.Union[None, str, int] = None)
   :canonical: rofunc.utils.robolab.formatter.mjcf.build_chain_from_mjcf

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.build_chain_from_mjcf

.. py:function:: build_serial_chain_from_mjcf(data, end_link_name, root_link_name='')
   :canonical: rofunc.utils.robolab.formatter.mjcf.build_serial_chain_from_mjcf

   .. autodoc2-docstring:: rofunc.utils.robolab.formatter.mjcf.build_serial_chain_from_mjcf
