What’s new in SOFA v20.12
New: SofaPython3 plugin integration
See the SofaPython3 GitHub repository for technical details.
Documentation
A dedicated documentation has been written to guide you in your first steps with SofaPython3 up to the implementation of your own bindings. Discover the SofaPython3 ReadTheDocs!
Technical support
A dedicated forum has been set up to welcome any compilation issue or technical question on SofaPython3!
New features
Callback in SOFA
A new callback system is introduced in the SOFA v20.12. This mechanism offers the possibility to add a callback function in any SOFA component so that outputs can be updated upon changes on their input data.
The callback function returns a component state (e.g. Valid, Invalid) which guarantees the component state coherency.
Polynomial springs
A new model of spring is added by sergeiNikolaev which allows for a polynomial stress-strain behavior. The order of the polynom and the coefficients can be freely defined by the user. Discover the PolynomialSpringsForceField and PolynomialRestShapeSpringsForceField with their example scenes!
New: Marketplace items!
Check out the SOFA marketplace, new plugins and tutorials were recently added! These code will be compatible with this v20.12 release.
Pluginization: SOFA-NG project
With the intensive work of fredroy, the SOFA NG project and its pluginization tasks are progressing quicly. As a reminder, the objective of SOFA-NG is to refactorize the current modules and components by moving them into plugins, in order to have a fully customable version of SOFA.
Clean
- Many fixes of warnings as in PR #1682
- Headers of SOFA classes are being cleaned to lighten includes and decrease compilation time
- Integration of the issofa_bugfix branch
- Compilation without OpenGL cleaned in #1478
Breaking changes
New features have also some consequences in the SOFA API:
- Ongoing SOFA-NG project generate several breaking changes due to modularization. It currently targets SOFA packages: SofaMisc, SofaGeneral, SofaCommon, as well as SofaKernel. Follow the progress of the project online!
- Standardization of types for indices and sizes in #1539, propagated in all SOFA code base
- Cleaning of the DataLink implementation in #1526 and the ongoing work on Link in #1722