What’s new in SOFA v20.06
New: SofaDefrost plugins integration
This plugin contains components dedicated to soft robotics.
It provides models for cable and pneumatic actuations, tools to define trajectories for the robot’s end effector, or tools to communicate with microcontroller boards.
See SoftRobots repository for details.
This plugin contains components with python utilitaries allowing to perform model reduction and use these reduced model easily in a SOFA scene.
See ModelOrderReduction repository for details.
Breaking: BaseClass reflection
A lot of work has been done to simplify and clean all SOFA introspection API:
- Move name decoding aspect in a separated file called NameDecoder.h
- Remove duplicated custom template name
- Removal of nullptr in className, templateName, typeName
SOFA codebase has been updated accordingly and, for now, the old functions are still available with a deprecated message.
All instructions to update your code are in the pull-request description.
See pull-request #1283.
As always, architecture has been improved towards modularity and easier deployment.
- SofaComponent* “meta” packages have been removed. Usual packages like SofaGeneral can be used instead.
See pull-request #1314.
- SofaGui modules have been moved to
See pull-request #1397.
- SofaNonUniformFem and SofaValidation have been modularized.
Breaking: Eigen3 auto-fetch
Eigen3 auto-fetch in sources has been removed. It caused problems when an external program tried to compile with both SOFA and another version of Eigen.
Now, SOFA relies on the standard find_package(Eigen3). Users and developpers must install Eigen on their machine.
See pull-request #1281.
Renamed from EulerSolver, the EulerExplicitSolver can now handle sparse mass matrix with Euler explicit scheme.
See pull-request #1260.