opensim-creator
opensim-creator copied to clipboard
Add ability to explicitly assign mesh warp(s) to each point in a model
The model warper currently figures out which mesh warps are associated with which points by looking at which geometries are attached to the same base frame as the point.
It's a generally-useful heuristic because usually points are spatially close to the body they're attached to (usually). However, it's problematic when:
- There's multiple meshes attached to that frame and it wouldn't necessarily make sense for the engine to combine those meshes into a single warp kernel
- The point is actually closer to the surface of some other mesh attached to some other base frame (think: points that are between two bodies or similar
So the engine needs to support users manually specifying point-to-warp associations in the .warpconfig.toml
file, such that they can decide how these cases will be handled. I'm thinking something like:
[points]
[[point_name]]
associated_meshes = ['pelvis.obj', 'femur.vtp']
The engine would then read this at initialization time and use it when fetching (+creating) the associated warp kernel that's needed for that particular point.