[Spring] Add fixed weak constraint and examples
Add a FixedWeakConstraint. It is really a simplified version of RestShapeSpringForcefield that only fixes points with respect to their rest_shape given one single value of stiffness. I didn't use an inheritance because RestShapeSpringForcefield does too much and the two set of features aren't really compatible. Keep it simple...
This completes the holy trinity of fixed constraints, now we will have Weak, Projective and Langrangian fixed constraints. It unifies the mechanism.
[ci-depends-on https://github.com/sofa-framework/SofaPython3/pull/492] [ci-depends-on https://github.com/SofaDefrost/SoftRobots/pull/312] [ci-depends-on https://github.com/SofaDefrost/STLIB/pull/127] [ci-depends-on https://github.com/sofa-framework/BeamAdapter/pull/160] [ci-depends-on https://github.com/SofaDefrost/Cosserat/pull/148] [ci-depends-on https://github.com/SofaDefrost/ModelOrderReduction/pull/146] [ci-depends-on https://github.com/SofaDefrost/SoftRobots.Inverse/pull/47] [ci-depends-on https://github.com/SofaDefrost/SoftRobots.DesignOptimization/pull/3]
By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).
Reviewers will merge this pull-request only if
- it builds with SUCCESS for all platforms on the CI.
- it does not generate new warnings.
- it does not generate new unit test failures.
- it does not generate new scene test failures.
- it does not break API compatibility.
- it is more than 1 week old (or has fast-merge label).
A duplicate of code ?

[ci-build][with-all-tests]
[ci-build][with-all-tests][force-full-build]
[ci-build][with-all-tests]
[ci-depends-on] detected during build #36.
To unlock the merge button, you must
- Merge or close https://github.com/sofa-framework/SofaPython3/pull/492 For this build, the following CMake flags will be set -DSOFAPYTHON3_GIT_REPOSITORY='https://github.com/sofa-framework/SofaPython3' -DSOFAPYTHON3_GIT_TAG='cb356486029dc4728ebfcaf0b6f16926934ed0d4'
- Merge or close https://github.com/SofaDefrost/SoftRobots/pull/312 For this build, the following CMake flags will be set -DSOFTROBOTS_GIT_REPOSITORY='https://github.com/SofaDefrost/SoftRobots' -DSOFTROBOTS_GIT_TAG='81d97c38af0de5f420104171fc064c9c4a143384'
- Merge or close https://github.com/SofaDefrost/STLIB/pull/127 For this build, the following CMake flags will be set -DSTLIB_GIT_REPOSITORY='https://github.com/SofaDefrost/STLIB' -DSTLIB_GIT_TAG='75bd1bdf1b41267f6288f17a8aecbe478ea31d83'
- Merge or close https://github.com/sofa-framework/BeamAdapter/pull/160 For this build, the following CMake flags will be set -DBEAMADAPTER_GIT_REPOSITORY='https://github.com/sofa-framework/BeamAdapter' -DBEAMADAPTER_GIT_TAG='ee8fb61ea29f9396f1297679e9c40abf27708cb8'
- Merge or close https://github.com/SofaDefrost/Cosserat/pull/148 For this build, the following CMake flags will be set -DCOSSERAT_GIT_REPOSITORY='https://github.com/SofaDefrost/Cosserat' -DCOSSERAT_GIT_TAG='2836d440e83624d8cd9aa90b5d2624c2806a80ba'
- Merge or close https://github.com/SofaDefrost/ModelOrderReduction/pull/146 For this build, the following CMake flags will be set -DMODELORDERREDUCTION_GIT_REPOSITORY='https://github.com/SofaDefrost/ModelOrderReduction' -DMODELORDERREDUCTION_GIT_TAG='b6b45f217e64add1be823b2531049ecc28f9e15e'
- Merge or close https://github.com/SofaDefrost/SoftRobots.Inverse/pull/47 For this build, the following CMake flags will be set -DSOFTROBOTS_INVERSE_GIT_REPOSITORY='https://github.com/SofaDefrost/SoftRobots.Inverse' -DSOFTROBOTS_INVERSE_GIT_TAG='72840f25a31f79ab53d49dc7188ad740f930e116'
- Merge or close https://github.com/SofaDefrost/SoftRobots.DesignOptimization/pull/3 For this build, the following CMake flags will be set -DSOFTROBOTS_DESIGNOPTIMIZATION_GIT_REPOSITORY='https://github.com/SofaDefrost/SoftRobots.DesignOptimization' -DSOFTROBOTS_DESIGNOPTIMIZATION_GIT_TAG='d3cb4562e9f6454abf3b25207c0b7fd793e45aa4'
[ci-depends-on] detected during build #37.
To unlock the merge button, you must
- Merge or close https://github.com/sofa-framework/SofaPython3/pull/492 For this build, the following CMake flags will be set -DSOFAPYTHON3_GIT_REPOSITORY='https://github.com/sofa-framework/SofaPython3' -DSOFAPYTHON3_GIT_TAG='cb356486029dc4728ebfcaf0b6f16926934ed0d4'
- Merge or close https://github.com/SofaDefrost/SoftRobots/pull/312 For this build, the following CMake flags will be set -DSOFTROBOTS_GIT_REPOSITORY='https://github.com/SofaDefrost/SoftRobots' -DSOFTROBOTS_GIT_TAG='81d97c38af0de5f420104171fc064c9c4a143384'
- Merge or close https://github.com/SofaDefrost/STLIB/pull/127 For this build, the following CMake flags will be set -DSTLIB_GIT_REPOSITORY='https://github.com/SofaDefrost/STLIB' -DSTLIB_GIT_TAG='75bd1bdf1b41267f6288f17a8aecbe478ea31d83'
- Merge or close https://github.com/sofa-framework/BeamAdapter/pull/160 For this build, the following CMake flags will be set -DBEAMADAPTER_GIT_REPOSITORY='https://github.com/sofa-framework/BeamAdapter' -DBEAMADAPTER_GIT_TAG='ee8fb61ea29f9396f1297679e9c40abf27708cb8'
- Merge or close https://github.com/SofaDefrost/Cosserat/pull/148 For this build, the following CMake flags will be set -DCOSSERAT_GIT_REPOSITORY='https://github.com/SofaDefrost/Cosserat' -DCOSSERAT_GIT_TAG='2836d440e83624d8cd9aa90b5d2624c2806a80ba'
- Merge or close https://github.com/SofaDefrost/ModelOrderReduction/pull/146 For this build, the following CMake flags will be set -DMODELORDERREDUCTION_GIT_REPOSITORY='https://github.com/SofaDefrost/ModelOrderReduction' -DMODELORDERREDUCTION_GIT_TAG='b6cf3202de8f8759c754e05508244ce67689167d'
- Merge or close https://github.com/SofaDefrost/SoftRobots.Inverse/pull/47 For this build, the following CMake flags will be set -DSOFTROBOTS_INVERSE_GIT_REPOSITORY='https://github.com/SofaDefrost/SoftRobots.Inverse' -DSOFTROBOTS_INVERSE_GIT_TAG='72840f25a31f79ab53d49dc7188ad740f930e116'
- Merge or close https://github.com/SofaDefrost/SoftRobots.DesignOptimization/pull/3 For this build, the following CMake flags will be set -DSOFTROBOTS_DESIGNOPTIMIZATION_GIT_REPOSITORY='https://github.com/SofaDefrost/SoftRobots.DesignOptimization' -DSOFTROBOTS_DESIGNOPTIMIZATION_GIT_TAG='d3cb4562e9f6454abf3b25207c0b7fd793e45aa4'
ci-depends-on ...
