drake
drake copied to clipboard
Support Vector3d scale for Mesh and ConvexMesh
This has come up a number of times now. For me, it's specifically motivated by #20444. In particular, I've seen a number of mujoco meshes which handle meshes for e.g. the fingers of a two-fingered gripper by using a single mesh and a reflection scale=[-1,1,1].
If the solution goes through in memory mesh files, that's fine for me. If it's better to just teach the proximity engine + renderers + visualizers how to use the Vector3d scale, that's fine for me, too. The immediate victory condition for me would be to
- have the models in #20444 currently marked as "error 1" parse correctly,
- to have them simulate correct contact geometry,
- to have them appear correctly in at least Meshcat, (e.g. with normals and textures)
- to have them appear correctly in the default renderer.
If handling permutations of {-1,1} or permutations of {-x,x} is an easier partial resolution of the feature (perhaps it simplifies normals/texture coordinates?), and we throw on other cases, I would be ok with that. It would already cover my current need.
https://github.com/RobotLocomotion/drake/pull/22024 was a quick attempt, but it would have only helped for the 1 & 2, not 3 & 4.