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.
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.
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.
CMake rules for installation and packaging were improved. SOFA can now be installed and distributed with nearly zero post-install operation.
A CMake external projects handling method was added. It permits to auto-checkout on configure step plugins that are on another repository.
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.