What’s new in SOFA v19.12
New: runSofa GUI widgets
SofaWindowProfiler
SofaWindowProfiler is a new widget in SofaGuiQt (with a dependency on QtCharts) that brings visualization on AdvancedTimer features. It permits to see the animation step duration (ms) in a graphView, then to navigate on the graph or on the sliders and see the different substeps exectuted during this animation step.
See #1028 for details.
SofaWindowDataGraph
SofaWindowDataGraph is also a new widget in SofaGuiQt (with a dependency on NodeEditor) that permits to see graphically the links between all Components of a scene.
See #1187 for details.
Breaking: Data update API
Reworking the Data update API was an out-of-roadmap task of v19.12 and has been added to v20.06 roadmap.
A new update mechanism has been added for components which need to update or recompute internal variables when one or several data are modified.
This work has been decomposed in 2 steps:
1. Create a new update internal mechanism
2. Propagate this new update internal mechanism in UniformMass, DiagonalMass and MeshMatrixMass.
Join Data update chat room to stay up-to-date.
Improved: Architecture
As always, architecture has been improved towards modularity and easier deployment.
For this release, emphasis has been put on external libraries management, SofaFramework architecture consistency and SofaComponent* cleaning.
Finalized: SofaPython3
Following v19.06, a lot of effort has been put into SofaPython3 developpement. Thanks to its contributors, the plugin is now ready to be used and tested on a larger scale.
The next objective is to embed it directly in SOFA v20.06.
Improved: Topology links
In order to make sure that only one topology per node is allowed, GetMeshTopology() calls must be replaced by explicit links in a lot of Components.
This work has been done in a non-breaking way (as much as possible) by keeping backward compatibility. The objective is to completely remove GetMeshTopology() calls by v20.06.
More changes
SofaQtQuick project (runSofa2) is still being improved and should go beta for v20.06.
See SofaQtQuick dev branch.
After years of innactivity, the SofaSphFluid plugin has been updated, fixed and cleaned.
See SofaSphFluid pull-requests.
Complementary to the “SOFA + Unity” plugin that has already be done, developpers are now looking at “SOFA + UnrealEngine” possibilities.
See their presentation at SOFA Symposium 2019.