opensim-creator
opensim-creator copied to clipboard
Fix failure to assemble a model should be treated as a failure to initialize the next model+state (maybe?)
At the moment, users can add constraints into a model that prevent the model from sucessfully assembling. This then causes problems later when the model is (e.g.) used in an FD simulation, because non-assembled models cannot be integrated.
I believe the reason that OpenSim doesn't upgrade mis-assembly to an exception is because the UI can concieveably traverse non-assembling conditions during model editing. E.g. adding a component into the model might be topologically-/data-valid but non-assemble-able until some values are tweaked.
This should be visited in later releases, though, because it does imply that non-assembling models with bad constraints are actually an error state of the model, rather than a "valid" state, because non-assembling models cannot be used in some contexts.
E.g.
- Open
Arm26
- Add a
ConstantDistanceConstraint
betweenground
andbase
- This will fail to assemble because joints etc. in the model cannot satisfy that constraint
- But the UI will continue to work fine
- Until the user tries to simulate it, which will fail