General release for Jul2021
Contains a wide variety of improvements over 0.0.2:
- OSMV (the codename for the alpha) has now internally been renamed to OSC, or OpenSim Creator. The official repository is now at https://github.com/ComputationalBiomechanicsLab/opensim-creator
- This is mostly a branding change, but also renames the C++ namespaces from
osmv
toosc
- OSC uses the OpenSim logo, rather than the custom one that was used in earlier versions
- This is mostly a branding change, but also renames the C++ namespaces from
- All releases of the software now use OpenSim 4.2
- This adds support for things like ScapulothoracicJoint
- It also makes simulations slightly faster (typically, 20-40 %)
- Mac users may (needs verification) need to install
gfortran
: please report installation issues on fresh mac products
- OpenSim's log now prints to the OSC log panel
- This means any warnings, error messages, etc. from OpenSim can be seen in the UI
- Component default values are now improved
- These are the property values components have when added through the UI
- This is an ongoing process. Some components (e.g. ContactSphere) still have poor defaults (e.g. radius=0.0)
- Fixed a bug where keybinds could be triggered, even when typing something into an input textbox
- This could occasionally lead to annoying situations. E.g. typing
R
(reload) into an input box would reload the model
- This could occasionally lead to annoying situations. E.g. typing
- Modal dialogs no longer trigger popups/changes in UI elements below the dialog
- E.g. mousing over something in a modal should no longer trigger tooltips, 3D scene changes, etc. below the modal
- Simulation states are now saved
- This means that you can retrospectively view the entire simulation with an animation scrubber
- It also means you can retrospectively plot outputs from a previously-ran simulation
- The reporting interval is deterministic, with a fixed time step, so that data+animations are consistent (e.g. datapoints in plots will be evenly spaced)
- Simulations make their own independent copy of a model before running. This means that you can keep editing a model while a simulation runs on older versions of the model.
- Simulations are now more configurable
- This means that users can change the integrator, minimum step size, maximum step size, etc. of a simulation
- Multiple simulations can now be ran concurrently
- The UI provides a way for selecting which simulation is currently being viewed
- There is currently no limit, or queuing, on the parallelism - try not to let your computer explode
- Simulation metadata--eg. the number of integration steps, error rates, etc.--is now displayed on the simulation screen with basic documentation explaining each plot
- Any plotted outputs can be directly exported to a CSV file
- Choose to plot an output, view a simulation, go to the "outputs" tab: there's now a "Export to CSV" button
- The UI is now uses custom style colors, which are darker and less blue than the ImGui defaults
- The UI now uses FontAwesome for icon support. FontAwesome icons have been added to the most commonly used actions in the UI
- The component hierarchy viewer now supports expanding and contracting nodes
- Switching between editing and simulation mode no longer wipes the undo/redo history of the edited model
- The "About" menu has been tidied up and now contains more information + documentation.
- The "Experiments" screen (accessed via the About menu) now prompts the user to select an experimental feature
- This is because we plan on using this space to ship experimental features to production early.
- Added "Windows" tab to the main menu
- Lets users enable/disable UI panels
- Multiple 3D viewers can be enabled through this
- Currently does not save which panels were enabled/disabled between UI boots (a future version will support this)
- The splash screen now contains obvious-looking "New" and "Open" buttons right above the main content
- This is so that new users don't have to search around in the "File" tab of the main menu
- Example filenames are now sorted case-insensitively, so that they appear to be logically alphabetical (e.g. A, a, B b vs. A B a b)
- 3D viewers now use Blender-like keybindings
- e.g. Left/Right click interact with things. Middle mouse for swiveling, CTRL+middle mouse to pan, etc.
- This is because it's fairly common for model builders to also be using blender
- You can now add muscles to a model through the UI
- Requires selecting N>1 bodies/frames in the model
- Currently, there is no support for rearranging the attachment order
- You can now add geometry to a body/frame
- Previously, you could assign geometry to a body/frame, which would overwrite any previous assignments
- Adding enables adding multiple pieces of geometry to a single body/frame
- You can delete geometry by pressing DEL while geometry is selected
- Added support for attaching analytical geometry (cubes, spheres, etc.)
- The benefit of using these is that the resulting model file is less dependent on external mesh files (the geometry is generated in-code by OSC)
- The loading screen now has a progress bar
- The progress bar always marches forward and is no indication of actual progress: purely there to show the UI is doing something
- Experimental: Added mesh importer wizard
- Enables importing multiple mesh files into a 3D scene without having to first build an OpenSim model
- Users can then rearrange the meshes in 3D space and assign bodies/joints to them while moving things around in a global, Blender-like, coordinate system
- Once the user has set everything up in this wizard, it automatically generates an OpenSim model from the assignments
- This is work in progress. It requires further development, but may still save a significant amount of time over manually building the model step-by-step through the main editor UI
- Experimental: You can now plot subfields of an output, rather than only being able to plot
double
value types- Practically, this means that you can plot a
Vec3
'sx
,y
, orz
coordinates - Experimental, because the output names etc. need to be fixed when exporting the resulting (subfield) output to a CSV file
- Practically, this means that you can plot a