opensim-creator icon indicating copy to clipboard operation
opensim-creator copied to clipboard

Add ability to explicitly assign mesh warp(s) to each point in a model

Open adamkewley opened this issue 8 months ago • 0 comments

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.

adamkewley avatar Jun 18 '24 14:06 adamkewley