From 9f79acd7da870f8c8911369264a0ea4ba909d829 Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Thu, 16 Feb 2023 01:46:50 -0800 Subject: [PATCH] Remove redundant space from XMLreference TOC titles PiperOrigin-RevId: 510076364 Change-Id: I59e0e7fd2f6eae9b89f5bb00f2192358da8abf7a --- doc/XMLreference.rst | 452 ++++++++++++++++++++-------------------- doc/includes/macros.rst | 8 +- 2 files changed, 233 insertions(+), 227 deletions(-) diff --git a/doc/XMLreference.rst b/doc/XMLreference.rst index 57bb92ee..54b76f19 100644 --- a/doc/XMLreference.rst +++ b/doc/XMLreference.rst @@ -100,7 +100,7 @@ prefix in the documentation below. .. _include: **include** (*) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~ This element does not strictly speaking belong to MJCF. Instead it is a meta-element, used to assemble multiple XML files in a single document object model (DOM) before parsing. The included file must be a valid XML file with a unique @@ -118,7 +118,7 @@ how to use includes and how to modularize large files if desired. .. _mujoco: **mujoco** (!) -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~ The unique top-level element, identifying the XML file as an MJCF model file. @@ -128,7 +128,7 @@ The unique top-level element, identifying the XML file as an MJCF model file. .. _compiler: **compiler** (*) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~ This element is used to set options for the built-in parser and compiler. After parsing and compilation it no longer has any effect. The settings here are global and apply to the entire model. @@ -250,8 +250,8 @@ any effect. The settings here are global and apply to the entire model. .. _compiler-lengthrange: -:el-prefix:`compiler/` **lengthrange** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`compiler/` |j| **lengthrange** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element controls the computation of actuator length ranges. For an overview of this functionality see :ref:`Length range ` section. Note that if this element is omitted the defaults shown below still apply. In order to @@ -420,8 +420,8 @@ adjust it properly through the XML. .. _option-flag: -:el-prefix:`option/` **flag** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`option/` |j| **flag** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element sets the flags that enable and disable different parts of the simulation pipeline. The actual flags used at runtime are represented as the bits of two integers, namely mjModel.opt.disableflags and mjModel.opt.enableflags, used @@ -568,8 +568,8 @@ compilation. .. _visual-global: -:el-prefix:`visual/` **global** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`visual/` |j| **global** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ While all settings in mjVisual are global, the settings here could not be fit into any of the other subsections. So this is effectively a miscellaneous subsection. @@ -608,8 +608,8 @@ is effectively a miscellaneous subsection. .. _visual-quality: -:el-prefix:`visual/` **quality** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`visual/` |j| **quality** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element specifies settings that affect the quality of the rendering. Larger values result in higher quality but possibly slower speed. Note that :ref:`simulate.cc ` displays the frames per second (FPS). The target FPS is @@ -642,8 +642,8 @@ visualization should somehow be simplified. .. _visual-headlight: -:el-prefix:`visual/` **headlight** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`visual/` |j| **headlight** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element is used to adjust the properties of the headlight. There is always a built-in headlight, in addition to any lights explicitly defined in the model. The headlight is a directional light centered at the current camera and pointed @@ -663,8 +663,8 @@ to be reduced. .. _visual-map: -:el-prefix:`visual/` **map** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`visual/` |j| **map** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element is used to specify scaling quantities that affect both the visualization and built-in mouse perturbations. Unlike the scaling quantities in the next element which are specific to spatial extent, the quantities here are @@ -718,8 +718,8 @@ miscellaneous. .. _visual-scale: -:el-prefix:`visual/` **scale** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`visual/` |j| **scale** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The settings in this element control the spatial extent of various decorative objects. In all cases, the rendered size equals the mean body size (see :ref:`statistic ` element below) multiplied by the value of an attribute @@ -765,8 +765,8 @@ documented below. .. _visual-rgba: -:el-prefix:`visual/` **rgba** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`visual/` |j| **rgba** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The settings in this element control the color and transparency (rgba) of various decorative objects. We will call this combined attribute "color" to simplify terminology below. All values should be in the range [0 1]. An alpha value of 0 @@ -875,72 +875,72 @@ if omitted. .. _default-mesh: -:el-prefix:`default/` **mesh** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **mesh** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`mesh ` element of the defaults class. | The only mesh attribute available here is: **scale**. .. _default-material: -:el-prefix:`default/` **material** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **material** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`material ` element of the defaults class. | All material attributes are available here except: name, class. .. _default-joint: -:el-prefix:`default/` **joint** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **joint** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`joint ` element of the defaults class. | All joint attributes are available here except: name, class. .. _default-geom: -:el-prefix:`default/` **geom** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **geom** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`geom ` element of the defaults class. | All geom attributes are available here except: name, class. .. _default-site: -:el-prefix:`default/` **site** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **site** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`site ` element of the defaults class. | All site attributes are available here except: name, class. .. _default-camera: -:el-prefix:`default/` **camera** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **camera** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`camera ` element of the defaults class. | All camera attributes are available here except: name, class. .. _default-light: -:el-prefix:`default/` **light** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **light** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`light ` element of the defaults class. | All light attributes are available here except: name, class. .. _default-pair: -:el-prefix:`default/` **pair** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **pair** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`pair ` element of the defaults class. | All pair attributes are available here except: name, class, geom1, geom2. .. _default-equality: -:el-prefix:`default/` **equality** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **equality** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`equality ` element of the defaults class. The actual equality constraints have types depending on the sub-element used to define them. However here we are setting @@ -949,8 +949,8 @@ if omitted. .. _default-tendon: -:el-prefix:`default/` **tendon** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **tendon** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`tendon ` element of the defaults class. Similar to equality constraints, the actual tendons have types, but here we are setting attributes common to all types. @@ -958,8 +958,8 @@ if omitted. .. _default-general: -:el-prefix:`default/` **general** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **general** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element sets the attributes of the dummy :ref:`general ` element of the defaults class. | All general attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, @@ -967,8 +967,8 @@ if omitted. .. _default-motor: -:el-prefix:`default/` **motor** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **motor** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This and the next three elements set the attributes of the :ref:`general ` element using :ref:`Actuator shortcuts `. It does not make sense to use more than one such shortcut in the same defaults @@ -978,70 +978,70 @@ slidersite, cranksite. .. _default-position: -:el-prefix:`default/` **position** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **position** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`position ` attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, cranksite. .. _default-velocity: -:el-prefix:`default/` **velocity** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **velocity** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`velocity ` attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, cranksite. .. _default-intvelocity: -:el-prefix:`default/` **intvelocity** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **intvelocity** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`intvelocity ` attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, cranksite. .. _default-damper: -:el-prefix:`default/` **damper** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **damper** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`damper ` attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, cranksite. .. _default-cylinder: -:el-prefix:`default/` **cylinder** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **cylinder** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`cylinder ` attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, cranksite. .. _default-muscle: -:el-prefix:`default/` **muscle** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **muscle** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`muscle ` attributes are available here except: name, class, joint, jointinparent, site, tendon, slidersite, cranksite. .. _default-adhesion: -:el-prefix:`default/` **adhesion** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`default/` |j| **adhesion** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All :ref:`adhesion ` attributes are available here except: name, class, body. .. _custom: **custom** (*) -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~ This is a grouping element for custom numeric and text elements. It does not have attributes. .. _custom-numeric: -:el-prefix:`custom/` **numeric** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`custom/` |j| **numeric** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a custom numeric array in mjModel. @@ -1059,8 +1059,8 @@ This element creates a custom numeric array in mjModel. .. _custom-text: -:el-prefix:`custom/` **text** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`custom/` |j| **text** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a custom text field in mjModel. It could be used to store keyword commands for user callbacks and other custom computations. @@ -1072,8 +1072,8 @@ other custom computations. .. _custom-tuple: -:el-prefix:`custom/` **tuple** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`custom/` |j| **tuple** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a custom tuple, which is a list of MuJoCo objects. The list is created by referencing the desired objects by name. @@ -1083,8 +1083,8 @@ objects by name. .. _tuple-element: -:el-prefix:`custom/tuple/` **element** (*) -'''''''''''''''''''''''''''''''''''''''''' +:el-prefix:`custom/tuple/` |j| **element** (*) +'''''''''''''''''''''''''''''''''''''''''''''' This adds an element to the tuple. @@ -1107,8 +1107,8 @@ chapter. .. _asset-texture: -:el-prefix:`asset/` **texture** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`asset/` |j| **texture** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | This element creates a texture asset, which is then referenced from a :ref:`material ` asset, which is finally referenced from a model element that needs to be textured. MuJoCo provides access to the texture mapping @@ -1254,8 +1254,8 @@ chapter. .. _asset-hfield: -:el-prefix:`asset/` **hfield** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`asset/` |j| **hfield** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a height field asset, which can then be referenced from geoms with type "hfield". A height field, also known as terrain map, is a 2D matrix of elevation data. The data can be specified in one of three ways: @@ -1329,8 +1329,8 @@ also known as terrain map, is a 2D matrix of elevation data. The data can be spe .. _asset-mesh: -:el-prefix:`asset/` **mesh** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`asset/` |j| **mesh** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a mesh asset, which can then be referenced from geoms. If the referencing geom type is :at-val:`mesh` the mesh is instantiated in the model, otherwise a geometric primitive is automatically fitted to it; see @@ -1476,8 +1476,8 @@ The full list of processing steps applied by the compiler to each mesh is as fol .. _asset-skin: -:el-prefix:`asset/` **skin** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`asset/` |j| **skin** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Skinned meshes (or skins) were added in MuJoCo 2.0. These are deformable meshes whose vertex positions and normals are computed each time the model is rendered. MuJoCo skins are only used for visualization and do not affect the physics @@ -1565,8 +1565,8 @@ be clear from the above specification. .. _skin-bone: -:el-prefix:`asset/skin/` **bone** (*) -''''''''''''''''''''''''''''''''''''' +:el-prefix:`asset/skin/` |j| **bone** (*) +''''''''''''''''''''''''''''''''''''''''' This element defines a bone of the skin. The bone is a regular MuJoCo body which is referenced by name here. @@ -1588,8 +1588,8 @@ This element defines a bone of the skin. The bone is a regular MuJoCo body which .. _asset-material: -:el-prefix:`asset/` **material** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`asset/` |j| **material** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a material asset. It can be referenced from :ref:`skins `, :ref:`geoms `, :ref:`sites ` and :ref:`tendons ` to set their appearance. Note that all these elements also have a @@ -1705,8 +1705,8 @@ defined. Its body name is automatically defined as "world". .. _body-inertial: -:el-prefix:`body/` **inertial** (?) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **inertial** (?) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element specifies the mass and inertial properties of the body. If this element is not included in a given body, the inertial properties are inferred from the geoms attached to the body. When a compiled MJCF model is saved, the XML @@ -1736,8 +1736,8 @@ axes of inertia of the body. Thus the inertia matrix is diagonal in this frame. .. _body-joint: -:el-prefix:`body/` **joint** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **joint** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a joint. As explained in :ref:`Kinematic tree `, a joint creates motion degrees of freedom between the body where it is defined and the body's parent. If multiple joints are defined in the same body, the @@ -1849,8 +1849,8 @@ unit quaternions. .. _body-freejoint: -:el-prefix:`body/` **freejoint** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **freejoint** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a free joint whose only attributes are :at:`name` and :at:`group`. The :el:`freejoint` element is an XML shortcut for @@ -1872,8 +1872,8 @@ inherited*. If the XML model is saved, it will appear as a regular joint of type .. _body-geom: -:el-prefix:`body/` **geom** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **geom** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a geom, and attaches it rigidly to the body within which the geom is defined. Multiple geoms can be attached to the same body. At runtime they determine the appearance and collision properties of the body. At @@ -2124,8 +2124,8 @@ helps clarify the role of bodies and geoms in MuJoCo. .. _body-site: -:el-prefix:`body/` **site** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **site** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a site, which is a simplified and restricted kind of geom. A small subset of the geom attributes are available here; see the :ref:`geom ` element for their detailed documentation. Semantically sites represent @@ -2168,8 +2168,8 @@ tendons, constructing slider-crank transmissions for actuators. .. _body-camera: -:el-prefix:`body/` **camera** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **camera** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a camera, which moves with the body where it is defined. To create a fixed camera, define it in the world body. The cameras created here are in addition to the default free camera which is always defined and is adjusted @@ -2219,8 +2219,8 @@ and the +Y axis points up. Thus the frame position and orientation are the key a .. _body-light: -:el-prefix:`body/` **light** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **light** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a light, which moves with the body where it is defined. To create a fixed light, define it in the world body. The lights created here are in addition to the default headlight which is always defined and is adjusted via @@ -2280,8 +2280,8 @@ the direction specified by the dir attribute. It does not have a full spatial fr .. _body-composite: -:el-prefix:`body/` **composite** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`body/` |j| **composite** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is not a model element, but rather a macro which expands into multiple model elements representing a composite object. These elements are bodies (with their own joints, geoms and sites) that become children of the parent body @@ -2402,8 +2402,8 @@ coordinates results in compiler error. See :ref:`CComposite` in the modeling gui .. _composite-joint: -:el-prefix:`body/composite/` **joint** (*) -'''''''''''''''''''''''''''''''''''''''''' +:el-prefix:`body/composite/` |j| **joint** (*) +'''''''''''''''''''''''''''''''''''''''''''''' Depending on the composite type, some joints are created automatically (e.g. the universal joints in rope) while other joints are optional (e.g. the stretch and twist joints in rope). This sub-element is used to specify which optional @@ -2446,8 +2446,8 @@ joints should be created, as well as to adjust the attributes of both automatic .. _composite-tendon: -:el-prefix:`body/composite/` **tendon** (*) -''''''''''''''''''''''''''''''''''''''''''' +:el-prefix:`body/composite/` |j| **tendon** (*) +''''''''''''''''''''''''''''''''''''''''''''''' Tendons are treated similarly to joints in composite objects. The tendon kind specified here together with the composite body type imply the tendon type as used in the rest of MJCF. This sub-element is used to both create optional tendons, @@ -2477,8 +2477,8 @@ composite objects are equality-constrained. .. _composite-geom: -:el-prefix:`body/composite/` **geom** (?) -''''''''''''''''''''''''''''''''''''''''' +:el-prefix:`body/composite/` |j| **geom** (?) +''''''''''''''''''''''''''''''''''''''''''''' This sub-element adjusts the attributes of the geoms in the composite object. The default attributes are the same as in the rest of MJCF (except that user-defined defaults have no effect here). Note that the geom sub-element can appears @@ -2495,8 +2495,8 @@ joints and tendons have different sets of attributes, while all geoms in the com .. _composite-site: -:el-prefix:`body/composite/` **site** (?) -''''''''''''''''''''''''''''''''''''''''' +:el-prefix:`body/composite/` |j| **site** (?) +''''''''''''''''''''''''''''''''''''''''''''' This sub-element adjusts the attributes of the sites in the composite object. Otherwise it is the same as geom above. @@ -2505,8 +2505,8 @@ This sub-element adjusts the attributes of the sites in the composite object. Ot .. _composite-skin: -:el-prefix:`body/composite/` **skin** (?) -''''''''''''''''''''''''''''''''''''''''' +:el-prefix:`body/composite/` |j| **skin** (?) +''''''''''''''''''''''''''''''''''''''''''''' If this element is included, the model compiler will generate a skinned mesh asset and attach it to the element bodies of the composite object. Skin can be attached to 2D grid, cloth, box, cylinder and ellipsoid. For other composite types @@ -2539,8 +2539,8 @@ automatically-generated skin. .. _composite-pin: -:el-prefix:`body/composite/` **pin** (*) -'''''''''''''''''''''''''''''''''''''''' +:el-prefix:`body/composite/` |j| **pin** (*) +'''''''''''''''''''''''''''''''''''''''''''' This sub-element can be used to pin some of the element bodies in grid objects (both 1D and 2D). Pinning means that the corresponding body has no joints, and therefore it is rigidly fixed to the parent body. When the parent is the world, @@ -2562,8 +2562,8 @@ thus the description here is brief. .. _contact-pair: -:el-prefix:`contact/` **pair** (*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:el-prefix:`contact/` |j| **pair** (*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This element creates a predefined geom pair, which will be checked for collision if the collision attribute of :ref:`option