From c4562ac61b0188fb2450d5ff8af40a95a09349dc Mon Sep 17 00:00:00 2001 From: Kevin Zakka Date: Tue, 12 Mar 2024 13:39:21 -0700 Subject: [PATCH] Cleanup asset/mesh in XML doc. PiperOrigin-RevId: 615156721 Change-Id: Ia2a6051506f9b3f4f2d7919893381f40f3e037df --- doc/XMLreference.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/XMLreference.rst b/doc/XMLreference.rst index e463ffe6..9caf2fd5 100644 --- a/doc/XMLreference.rst +++ b/doc/XMLreference.rst @@ -1208,12 +1208,13 @@ specified as OBJ or XML and an error message is returned. The size of the mesh is determined by the 3D coordinates of the vertex data in the mesh file, multiplied by the components of the :at:`scale` attribute below. Scaling is applied separately for each coordinate axis. Note that negative scaling values can be used to flip the mesh; this is a legitimate operation. The size parameters of the -referening geoms are ignored, similarly to height fields. We also provide a mechanism to translate and +referencing geoms are ignored, similarly to height fields. We also provide a mechanism to translate and rotate the 3D coordinates, using the attributes :ref:`refpos` and :ref:`refquat`. A mesh can also be defined without faces (a point cloud essentially). In that case -the convex hull is constructed automatically, even if the compiler attribute convexhull is false. This makes it easy to -construct simple shapes directly in the XML. For example, a pyramid can be created as: +the convex hull is constructed automatically, even if the compiler attribute :at:`convexhull` is +false. This makes it easy to construct simple shapes directly in the XML. For example, a pyramid can +be created as follows: .. code-block:: xml @@ -1234,7 +1235,7 @@ that the joint position is (0,0,0) in the body frame, and simply reference the m a forearm, containing all the information needed to put the mesh where one would expect it to be. The body position is specified relative to the parent body, namely the upper arm (not shown). It is offset by 35 cm which is the typical length of the human upper arm. If the mesh vertex data were not designed in the above convention, we would have to use -the geom position and orientation (or the :at:`refpos`, :at:`refquat`` mechanism) to compensate, but in practice this is +the geom position and orientation (or the :at:`refpos`, :at:`refquat` mechanism) to compensate, but in practice this is rarely needed. .. code-block:: xml @@ -1261,7 +1262,7 @@ The full list of processing steps applied by the compiler to each mesh is as fol the desired vertices and faces have already been generated and do not apply removal or re-indexing; #. If vertex normals are not provided, generate normals automatically, using a weighted average of the surrounding face normals. If sharp edges are encountered, the renderer uses the face normals to preserve the visual information about - the edge, unless smoothnormal is true. Note that normals cannot be provided with STL meshes; + the edge, unless :ref:`smoothnormal` is true. Note that normals cannot be provided with STL meshes; #. Scale, translate and rotate the vertices and normals, re-normalize the normals in case of scaling; #. Construct the convex hull if specified; #. Find the centroid of all triangle faces, and construct the union-of-pyramids representation. Triangles whose area is