You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 147dc67
Browse filesBrowse the repository at this point in the historyBrowse files
Allow anisotropic frame scales for meshes and aligned shapes and joints.
Mechanisms built from meshes, aligned boxes and ellipsoids, and joints along the scaling axes can
be stretched non-uniformly. Positions are mapped exactly and bodies stay rigid, so each shape is
stretched in its own coordinates; shapes which cannot represent that are compile errors, and
uniform scales keep the exact scalar path, bitwise as before.
- mjCGauge carries a 3x3 map, composed through the orientations of frames and bodies, with a
uniform flag; Point, Stretch, Aligned, Size (by shape type and orientation) and an exact
transform of the inertia tensor through its second moments.
- Anisotropic scales require scaling 'geometry'; alignment is checked to within about 2 degrees.
- Capsules stretch with hemispherical caps (documented); sphere sites and lengths without a
direction take the geometric mean; sphere geoms suggest an ellipsoid.
- Mesh and height field instances are keyed by the map in the geom frame; a map which is not
diagonal transforms vertices and normals, and saving compiled writes such instances' vertices.
- Skins require their bones to share one map in skin coordinates.
- Mesh bounds are reset when a mesh is copied from its spec again, which recompiling a scaled
mesh exposed.
PiperOrigin-RevId: 998289545
Change-Id: Ide7d393164afeabc7666450351c074375189592c
0 commit comments