From 5c1490d51321c1fd75e01698b38603291bca927a Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Thu, 10 Jul 2025 14:02:11 +0200 Subject: [PATCH 01/10] [Response] Clean init of CollisionResponse --- .../response/contact/CollisionResponse.cpp | 22 +++++++++++++++---- .../response/contact/CollisionResponse.h | 1 - 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp index c225ffa731c..043c7f0c620 100644 --- a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp +++ b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp @@ -62,19 +62,34 @@ sofa::helper::OptionsGroup CollisionResponse::initializeResponseOptions(sofa::co } sofa::helper::OptionsGroup responseOptions(listResponse); - if (listResponse.contains("PenalityContactForceField")) - responseOptions.setSelectedItem("PenalityContactForceField"); - return responseOptions; } void CollisionResponse::init() { + Inherit1::init(); + + if(!d_response.isSet()) + { + msg_error() << "No response method has been set. Default response=\"PenalityContactForceField\""; + setDefaultResponseType("PenalityContactForceField"); + return; + } + if (d_response.getValue().size() == 0) { + msg_error() << "Response method is empty and may have been wrongly set. Option list is: " << initializeResponseOptions(getContext()); d_response.setValue(initializeResponseOptions(getContext())); } + else + { + sofa::helper::OptionsGroup responseOptions = initializeResponseOptions(getContext()); + if(!responseOptions.isInOptionsList(d_response.getValue().getSelectedItem())) + { + msg_error() << "response \"" << d_response.getValue().getSelectedItem() << "\" is not a valid response method. Response can be among the list: " << responseOptions; + } + } } void CollisionResponse::cleanup() @@ -111,7 +126,6 @@ void CollisionResponse::setDefaultResponseType(const std::string &responseT) } } - void CollisionResponse::changeInstance(Instance inst) { core::collision::ContactManager::changeInstance(inst); diff --git a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h index 9a6ee36d869..b6123be8ff3 100644 --- a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h +++ b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h @@ -112,7 +112,6 @@ public : /// The number of contacts corresponds to the number of collision models /// currently in contact with a collision model. void setNumberOfContacts() const; - }; From d69f2003e6d4b5a70b2a639782e91b322ea34473 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 10 Jul 2025 14:10:01 +0200 Subject: [PATCH 02/10] Apply suggestions from code review --- .../component/collision/response/contact/CollisionResponse.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp index 043c7f0c620..1807214fa9f 100644 --- a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp +++ b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp @@ -72,8 +72,7 @@ void CollisionResponse::init() if(!d_response.isSet()) { - msg_error() << "No response method has been set. Default response=\"PenalityContactForceField\""; - setDefaultResponseType("PenalityContactForceField"); + msg_error() << "No response method has been set"; return; } From da6985772fce97500713035ab6d5687c6826c87e Mon Sep 17 00:00:00 2001 From: Hugo Date: Fri, 22 Aug 2025 08:23:37 +0200 Subject: [PATCH 03/10] Apply suggestions from code review Co-authored-by: Frederick Roy --- .../component/collision/response/contact/CollisionResponse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp index 1807214fa9f..fc442f4001e 100644 --- a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp +++ b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp @@ -84,7 +84,7 @@ void CollisionResponse::init() else { sofa::helper::OptionsGroup responseOptions = initializeResponseOptions(getContext()); - if(!responseOptions.isInOptionsList(d_response.getValue().getSelectedItem())) + if(responseOptions.isInOptionsList(d_response.getValue().getSelectedItem()) < 0) { msg_error() << "response \"" << d_response.getValue().getSelectedItem() << "\" is not a valid response method. Response can be among the list: " << responseOptions; } From edc2ad7f28877a1f211b9550474146c0b671c54a Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Tue, 26 Aug 2025 11:28:14 +0200 Subject: [PATCH 04/10] add a function in OptionsGroup to list all possibly items --- Sofa/framework/Helper/src/sofa/helper/OptionsGroup.cpp | 5 +++++ Sofa/framework/Helper/src/sofa/helper/OptionsGroup.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.cpp b/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.cpp index 322be736e4a..fdec98807d5 100644 --- a/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.cpp +++ b/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.cpp @@ -45,6 +45,11 @@ void OptionsGroup::setNbItems(const size_type nbofRadioButton ) selectedItem = 0; } /////////////////////////////////////// +type::vector OptionsGroup::getItemNames() +{ + return textItems; +} +/////////////////////////////////////// void OptionsGroup::setItemName(const unsigned int id_item, const std::string& name ) { if(id_item < textItems.size()) diff --git a/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.h b/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.h index 10616060c85..8423f2d0a40 100644 --- a/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.h +++ b/Sofa/framework/Helper/src/sofa/helper/OptionsGroup.h @@ -71,6 +71,9 @@ public : ///Set the name of the id-th item void setItemName( unsigned int id_item, const std::string& name ); + ///Get the vector of names available + type::vector getItemNames(); + template void setNames(const std::initializer_list& list); From 3cda25981281059b3cdbb69142fe86c72b1d4e50 Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Tue, 26 Aug 2025 11:29:25 +0200 Subject: [PATCH 05/10] only set the response when given response data is valid and not empty in create() function --- .../collision/response/contact/CollisionResponse.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h index b6123be8ff3..9466991e8d2 100644 --- a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h +++ b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.h @@ -52,7 +52,13 @@ public : { context->addObject(obj); sofa::helper::OptionsGroup options = initializeResponseOptions(context); - obj->d_response.setValue(options); + const std::string responseName = arg->getAttribute("response",""); + // Check if the response is valid and not empty, only then set the response + if(options.isInOptionsList(responseName) >= 0 && responseName != "") + { + options.setSelectedItem(responseName); + obj->d_response.setValue(options); + } } if (arg) From 2a21421c9c366bcbac0843db741db9a5904d5003 Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Tue, 26 Aug 2025 11:29:48 +0200 Subject: [PATCH 06/10] clean the init of CollisionResponse to properly warn the user --- .../collision/response/contact/CollisionResponse.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp index fc442f4001e..40292b89c8c 100644 --- a/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp +++ b/Sofa/Component/Collision/Response/Contact/src/sofa/component/collision/response/contact/CollisionResponse.cpp @@ -67,7 +67,6 @@ sofa::helper::OptionsGroup CollisionResponse::initializeResponseOptions(sofa::co void CollisionResponse::init() { - Inherit1::init(); if(!d_response.isSet()) @@ -78,16 +77,13 @@ void CollisionResponse::init() if (d_response.getValue().size() == 0) { - msg_error() << "Response method is empty and may have been wrongly set. Option list is: " << initializeResponseOptions(getContext()); - d_response.setValue(initializeResponseOptions(getContext())); + sofa::helper::OptionsGroup responseOptions = initializeResponseOptions(getContext()); + msg_error() << "Response method is wrongly set. Option list is: " << responseOptions.getItemNames(); + d_response.setValue(responseOptions); } else { - sofa::helper::OptionsGroup responseOptions = initializeResponseOptions(getContext()); - if(responseOptions.isInOptionsList(d_response.getValue().getSelectedItem()) < 0) - { - msg_error() << "response \"" << d_response.getValue().getSelectedItem() << "\" is not a valid response method. Response can be among the list: " << responseOptions; - } + msg_info() << "Valid response method: " << d_response.getValue().getSelectedItem(); } } From 03eebe4bf28a430159fc49972b020ac26644e22f Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Wed, 27 Aug 2025 15:29:38 +0200 Subject: [PATCH 07/10] Update all examples which where not specifying the collision response --- .../examples/ArticulatedSystemMapping.scn | 8 ++++---- examples/Component/Mapping/Linear/CenterOfMassMapping.scn | 2 +- examples/Component/Mapping/Linear/SkinningMapping.scn | 2 +- examples/Component/Mapping/Linear/SubsetMapping.scn | 2 +- examples/Component/MechanicalLoad/EllipsoidForceField.scn | 2 +- .../MechanicalLoad/InteractionEllipsoidForceField.scn | 2 +- .../SolidMechanics/Spring/QuadBendingSprings.scn | 2 +- .../Topology/Container/Grid/SparseGridTopology.scn | 2 +- .../Demos/fallingBeamAugmentedLagrangianCollision.scn | 5 +---- .../Collision/AdvancedSolversMultipleGroupsSolver.scn | 2 +- examples/Tutorials/Collision/ModelizationSphereBased.scn | 2 +- .../Tutorials/Collision/ModelizationTriangleBased.scn | 2 +- examples/Tutorials/Collision/MultipleObjectsTwoCubes.scn | 2 +- .../Tutorials/Topologies/TopologyDynamicSurfaceMesh.scn | 2 +- .../Topologies/TopologyHexa2QuadTopologicalMapping.scn | 2 +- .../Topologies/TopologyHexa2TetraTopologicalMapping.scn | 2 +- .../Tutorials/Topologies/TopologyLinearDifferentMesh.scn | 2 +- examples/Tutorials/Topologies/TopologyLinearMesh.scn | 2 +- .../TopologyQuad2TriangleTopologicalMapping.scn | 2 +- .../Tutorials/Topologies/TopologySurfaceDifferentMesh.scn | 2 +- .../TopologyTetra2TriangleTopologicalMapping.scn | 2 +- .../TopologyTriangle2EdgeTopologicalMapping.scn | 2 +- .../Tutorials/Topologies/TopologyVolumeDifferentMesh.scn | 2 +- 23 files changed, 26 insertions(+), 29 deletions(-) diff --git a/applications/plugins/ArticulatedSystemPlugin/examples/ArticulatedSystemMapping.scn b/applications/plugins/ArticulatedSystemPlugin/examples/ArticulatedSystemMapping.scn index 08d18390f81..5b25539dfc8 100644 --- a/applications/plugins/ArticulatedSystemPlugin/examples/ArticulatedSystemMapping.scn +++ b/applications/plugins/ArticulatedSystemPlugin/examples/ArticulatedSystemMapping.scn @@ -15,13 +15,13 @@ + + + - - + - - diff --git a/examples/Component/Mapping/Linear/CenterOfMassMapping.scn b/examples/Component/Mapping/Linear/CenterOfMassMapping.scn index 584c11fd4e1..b90a3eb6a49 100644 --- a/examples/Component/Mapping/Linear/CenterOfMassMapping.scn +++ b/examples/Component/Mapping/Linear/CenterOfMassMapping.scn @@ -16,7 +16,7 @@ - + diff --git a/examples/Component/Mapping/Linear/SkinningMapping.scn b/examples/Component/Mapping/Linear/SkinningMapping.scn index 4d78200855f..f431d4e888f 100644 --- a/examples/Component/Mapping/Linear/SkinningMapping.scn +++ b/examples/Component/Mapping/Linear/SkinningMapping.scn @@ -17,7 +17,7 @@ - + diff --git a/examples/Component/Mapping/Linear/SubsetMapping.scn b/examples/Component/Mapping/Linear/SubsetMapping.scn index c4cf30f49e3..5f8588b084e 100644 --- a/examples/Component/Mapping/Linear/SubsetMapping.scn +++ b/examples/Component/Mapping/Linear/SubsetMapping.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Component/MechanicalLoad/EllipsoidForceField.scn b/examples/Component/MechanicalLoad/EllipsoidForceField.scn index 308bff7bfe3..321d17e251e 100644 --- a/examples/Component/MechanicalLoad/EllipsoidForceField.scn +++ b/examples/Component/MechanicalLoad/EllipsoidForceField.scn @@ -23,7 +23,7 @@ - + diff --git a/examples/Component/MechanicalLoad/InteractionEllipsoidForceField.scn b/examples/Component/MechanicalLoad/InteractionEllipsoidForceField.scn index ef1a0060d8a..e4d9ab0c261 100644 --- a/examples/Component/MechanicalLoad/InteractionEllipsoidForceField.scn +++ b/examples/Component/MechanicalLoad/InteractionEllipsoidForceField.scn @@ -22,7 +22,7 @@ - + diff --git a/examples/Component/SolidMechanics/Spring/QuadBendingSprings.scn b/examples/Component/SolidMechanics/Spring/QuadBendingSprings.scn index a558ca9c461..8deab333fcc 100644 --- a/examples/Component/SolidMechanics/Spring/QuadBendingSprings.scn +++ b/examples/Component/SolidMechanics/Spring/QuadBendingSprings.scn @@ -16,7 +16,7 @@ - + diff --git a/examples/Component/Topology/Container/Grid/SparseGridTopology.scn b/examples/Component/Topology/Container/Grid/SparseGridTopology.scn index 665e19b7f72..ccf79e2c017 100644 --- a/examples/Component/Topology/Container/Grid/SparseGridTopology.scn +++ b/examples/Component/Topology/Container/Grid/SparseGridTopology.scn @@ -23,7 +23,7 @@ - + diff --git a/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn b/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn index a15852e9cda..a72a8dab6b5 100644 --- a/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn +++ b/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn @@ -22,7 +22,6 @@ - Container,TriangleSetTopologyModifier] --> @@ -32,7 +31,7 @@ - + @@ -88,5 +87,3 @@ - - diff --git a/examples/Tutorials/Collision/AdvancedSolversMultipleGroupsSolver.scn b/examples/Tutorials/Collision/AdvancedSolversMultipleGroupsSolver.scn index d07e8293b93..e55512e2c3c 100644 --- a/examples/Tutorials/Collision/AdvancedSolversMultipleGroupsSolver.scn +++ b/examples/Tutorials/Collision/AdvancedSolversMultipleGroupsSolver.scn @@ -18,7 +18,7 @@ - + diff --git a/examples/Tutorials/Collision/ModelizationSphereBased.scn b/examples/Tutorials/Collision/ModelizationSphereBased.scn index 8cbe0a32096..8bab830675a 100644 --- a/examples/Tutorials/Collision/ModelizationSphereBased.scn +++ b/examples/Tutorials/Collision/ModelizationSphereBased.scn @@ -18,7 +18,7 @@ - + diff --git a/examples/Tutorials/Collision/ModelizationTriangleBased.scn b/examples/Tutorials/Collision/ModelizationTriangleBased.scn index f89340d1694..4c3eea42dbc 100644 --- a/examples/Tutorials/Collision/ModelizationTriangleBased.scn +++ b/examples/Tutorials/Collision/ModelizationTriangleBased.scn @@ -18,7 +18,7 @@ - + diff --git a/examples/Tutorials/Collision/MultipleObjectsTwoCubes.scn b/examples/Tutorials/Collision/MultipleObjectsTwoCubes.scn index ced8c200b92..d7ab6437d95 100644 --- a/examples/Tutorials/Collision/MultipleObjectsTwoCubes.scn +++ b/examples/Tutorials/Collision/MultipleObjectsTwoCubes.scn @@ -19,7 +19,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyDynamicSurfaceMesh.scn b/examples/Tutorials/Topologies/TopologyDynamicSurfaceMesh.scn index 613ee62a277..eebc1776f39 100644 --- a/examples/Tutorials/Topologies/TopologyDynamicSurfaceMesh.scn +++ b/examples/Tutorials/Topologies/TopologyDynamicSurfaceMesh.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyHexa2QuadTopologicalMapping.scn b/examples/Tutorials/Topologies/TopologyHexa2QuadTopologicalMapping.scn index 24397ec455e..62b9ffb61ad 100644 --- a/examples/Tutorials/Topologies/TopologyHexa2QuadTopologicalMapping.scn +++ b/examples/Tutorials/Topologies/TopologyHexa2QuadTopologicalMapping.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyHexa2TetraTopologicalMapping.scn b/examples/Tutorials/Topologies/TopologyHexa2TetraTopologicalMapping.scn index 0988993861d..060defd6592 100644 --- a/examples/Tutorials/Topologies/TopologyHexa2TetraTopologicalMapping.scn +++ b/examples/Tutorials/Topologies/TopologyHexa2TetraTopologicalMapping.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyLinearDifferentMesh.scn b/examples/Tutorials/Topologies/TopologyLinearDifferentMesh.scn index 119c1304ba3..6c9b7dfcb35 100644 --- a/examples/Tutorials/Topologies/TopologyLinearDifferentMesh.scn +++ b/examples/Tutorials/Topologies/TopologyLinearDifferentMesh.scn @@ -21,7 +21,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyLinearMesh.scn b/examples/Tutorials/Topologies/TopologyLinearMesh.scn index 7ebd9a1fed8..a3e3739f790 100644 --- a/examples/Tutorials/Topologies/TopologyLinearMesh.scn +++ b/examples/Tutorials/Topologies/TopologyLinearMesh.scn @@ -19,7 +19,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyQuad2TriangleTopologicalMapping.scn b/examples/Tutorials/Topologies/TopologyQuad2TriangleTopologicalMapping.scn index 405995b6f4e..46d15db893b 100644 --- a/examples/Tutorials/Topologies/TopologyQuad2TriangleTopologicalMapping.scn +++ b/examples/Tutorials/Topologies/TopologyQuad2TriangleTopologicalMapping.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologySurfaceDifferentMesh.scn b/examples/Tutorials/Topologies/TopologySurfaceDifferentMesh.scn index f106babd7c7..8b87b16e59b 100644 --- a/examples/Tutorials/Topologies/TopologySurfaceDifferentMesh.scn +++ b/examples/Tutorials/Topologies/TopologySurfaceDifferentMesh.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyTetra2TriangleTopologicalMapping.scn b/examples/Tutorials/Topologies/TopologyTetra2TriangleTopologicalMapping.scn index 2cad2dc31e2..bf2a817bfd6 100644 --- a/examples/Tutorials/Topologies/TopologyTetra2TriangleTopologicalMapping.scn +++ b/examples/Tutorials/Topologies/TopologyTetra2TriangleTopologicalMapping.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyTriangle2EdgeTopologicalMapping.scn b/examples/Tutorials/Topologies/TopologyTriangle2EdgeTopologicalMapping.scn index 864bbb4448b..9ee2b4a7d24 100644 --- a/examples/Tutorials/Topologies/TopologyTriangle2EdgeTopologicalMapping.scn +++ b/examples/Tutorials/Topologies/TopologyTriangle2EdgeTopologicalMapping.scn @@ -22,7 +22,7 @@ - + diff --git a/examples/Tutorials/Topologies/TopologyVolumeDifferentMesh.scn b/examples/Tutorials/Topologies/TopologyVolumeDifferentMesh.scn index 51c3c060145..8ab0493bf04 100644 --- a/examples/Tutorials/Topologies/TopologyVolumeDifferentMesh.scn +++ b/examples/Tutorials/Topologies/TopologyVolumeDifferentMesh.scn @@ -26,7 +26,7 @@ - + From 0053a6c0c0b18fbfa5334f69915344a797571275 Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Wed, 27 Aug 2025 15:37:58 +0200 Subject: [PATCH 08/10] Update CollisionPipeline_test which was not specifying the collision response --- .../Algorithm/tests/CollisionPipeline_test.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Sofa/Component/Collision/Detection/Algorithm/tests/CollisionPipeline_test.cpp b/Sofa/Component/Collision/Detection/Algorithm/tests/CollisionPipeline_test.cpp index 75536b51a12..3078fc26c56 100644 --- a/Sofa/Component/Collision/Detection/Algorithm/tests/CollisionPipeline_test.cpp +++ b/Sofa/Component/Collision/Detection/Algorithm/tests/CollisionPipeline_test.cpp @@ -102,7 +102,7 @@ void TestCollisionPipeline::checkCollisionPipelineWithNoAttributes() " \n" " \n" " \n" - " \n" + " \n" " \n" " \n" ; @@ -126,7 +126,7 @@ void TestCollisionPipeline::checkCollisionPipelineWithMissingIntersection() " \n" " \n" " \n" - " \n" + " \n" " \n" ; root = SceneLoaderXML::loadFromMemory ("testscene", scene.str().c_str()); @@ -147,7 +147,7 @@ void TestCollisionPipeline::checkCollisionPipelineWithMissingBroadPhase() " \n" " \n" " \n" - " \n" + " \n" " \n" " \n" ; @@ -168,7 +168,7 @@ void TestCollisionPipeline::checkCollisionPipelineWithMissingNarrowPhase() " \n" " \n" " \n" - " \n" + " \n" " \n" " \n" ; @@ -210,7 +210,7 @@ int TestCollisionPipeline::checkCollisionPipelineWithMonkeyValueForDepth(int dva " \n" " \n" " \n" - " \n" + " \n" " \n" " \n" ; From ea537b00425fd0a18952bfbdbb5b32246de1b4f4 Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Wed, 27 Aug 2025 16:28:25 +0200 Subject: [PATCH 09/10] Fix two last failing scene tests --- examples/Component/Mapping/Linear/SubsetMapping.scn | 2 +- examples/Demos/fallingBeamAugmentedLagrangianCollision.scn | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/Component/Mapping/Linear/SubsetMapping.scn b/examples/Component/Mapping/Linear/SubsetMapping.scn index 5f8588b084e..3b72a7759ba 100644 --- a/examples/Component/Mapping/Linear/SubsetMapping.scn +++ b/examples/Component/Mapping/Linear/SubsetMapping.scn @@ -24,7 +24,7 @@ - + diff --git a/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn b/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn index a72a8dab6b5..9f4d8bf264a 100644 --- a/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn +++ b/examples/Demos/fallingBeamAugmentedLagrangianCollision.scn @@ -31,7 +31,7 @@ - + From 184fe4ee0be855c8126561a7d89df295e3846af0 Mon Sep 17 00:00:00 2001 From: hugtalbot Date: Wed, 27 Aug 2025 17:41:41 +0200 Subject: [PATCH 10/10] Fix last .. CUDA scene --- applications/plugins/SofaCUDA/examples/quadSpringSphere.scn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/plugins/SofaCUDA/examples/quadSpringSphere.scn b/applications/plugins/SofaCUDA/examples/quadSpringSphere.scn index 2bb630e301f..041fbed6155 100644 --- a/applications/plugins/SofaCUDA/examples/quadSpringSphere.scn +++ b/applications/plugins/SofaCUDA/examples/quadSpringSphere.scn @@ -18,7 +18,7 @@ - +