What’s new in SOFA v18.06
Breaking: Handling linearised constraints
This work around FreeMotionAnimationLoop has two effects:
- Adjust FreeMotionAnimationLoop so that it is more faithful to the actual equations, most notably by allowing only one linearisation of the mappings within the time step.
- Update the API in order to compute a linearised version of the constraint forces, in a similar fashion to what is done in the Compliant plugin.
Details and documentation on pull-request #459.
Project: SOFA-NG
The SOFA-NG project started during v17.12 development has evolved.
Here are the main achievements of the past 6 months:
- Module architecture defined: https://annuel2.framapad.org/p/sofang-v3
- Headers dependency list: https://www.sofa-framework.org/headers
- Modules dependency graph: https://www.sofa-framework.org/graph
- Sofa.Framework architecture: SofaDrefost/sofa/cleanTheMessStep1
- 1 PR merged in sofa-framework/sofa/ng: Sofa.Component.Utils
- Scripts created to bootstrap any NG module (wip): guparan/sofa2ng
See SOFA-NG GitHub issue for all details.
Improved: Doxygen
Doxygen comments were added on each Data of each Component. Components API documentation is now way more detailed and updated every day.
See ConstraintAnimationLoop API for example.
Improved: CMake
CMake rules for installation and packaging were improved. SOFA can now be installed and distributed with nearly zero post-install operation.
See #635.
A CMake external projects handling method was added. It permits to auto-checkout on configure step plugins that are on another repository.
See #649.
SofaPython: PythonScriptDataEngine (PSDE)
You can think of the PSDE as a possibility of subclassing the Sofa ‘DataEngine’ in a scripted way. In the second example provided it is shown how a versatile ROI functionality can be implemented with the help of the PSDE.
The PSDE works similar to a function block in Simulink or comparable software. The user can define a block (a PSDE) declaring its Inputs, Outputs (I/Os) and its behavior using Python alone. It has some similarities with the “PythonScriptController” (PSC).
Details and documentation on pull-request #583.