From 0f9bbc724c3e229db8fafa7fc31b82cd7dcfb17c Mon Sep 17 00:00:00 2001 From: bakpaul Date: Thu, 11 Jun 2026 15:22:30 +0200 Subject: [PATCH 1/4] Move SceneCheckerVisitor out of the SceneChecking project into the core --- Sofa/framework/Simulation/Core/CMakeLists.txt | 2 ++ .../src/sofa/simulation}/SceneCheckerVisitor.cpp | 9 +++++---- .../Core/src/sofa/simulation}/SceneCheckerVisitor.h | 13 ++++--------- applications/projects/SceneChecking/CMakeLists.txt | 2 -- .../src/SceneChecking/SceneCheckerListener.cpp | 4 ++-- 5 files changed, 13 insertions(+), 17 deletions(-) rename {applications/projects/SceneChecking/src/SceneChecking => Sofa/framework/Simulation/Core/src/sofa/simulation}/SceneCheckerVisitor.cpp (94%) rename {applications/projects/SceneChecking/src/SceneChecking => Sofa/framework/Simulation/Core/src/sofa/simulation}/SceneCheckerVisitor.h (88%) diff --git a/Sofa/framework/Simulation/Core/CMakeLists.txt b/Sofa/framework/Simulation/Core/CMakeLists.txt index 756046a81b3..22699a67eeb 100644 --- a/Sofa/framework/Simulation/Core/CMakeLists.txt +++ b/Sofa/framework/Simulation/Core/CMakeLists.txt @@ -68,6 +68,7 @@ set(HEADER_FILES ${SRC_ROOT}/SceneCheckMainRegistry.h ${SRC_ROOT}/MappingGraph.h ${SRC_ROOT}/MappingGraphMechanicalOperations.h + ${SRC_ROOT}/SceneCheckerVisitor.h ${SRC_ROOT}/events/BuildConstraintSystemEndEvent.h ${SRC_ROOT}/events/SimulationInitDoneEvent.h @@ -215,6 +216,7 @@ set(SOURCE_FILES ${SRC_ROOT}/init.cpp ${SRC_ROOT}/fwd.cpp ${SRC_ROOT}/BaseSimulationExporter.cpp + ${SRC_ROOT}/SceneCheckerVisitor.cpp ${SRC_ROOT}/events/BuildConstraintSystemEndEvent.cpp ${SRC_ROOT}/events/SimulationInitDoneEvent.cpp diff --git a/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerVisitor.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp similarity index 94% rename from applications/projects/SceneChecking/src/SceneChecking/SceneCheckerVisitor.cpp rename to Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp index 4b7ec763346..f0e5aa9e811 100644 --- a/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerVisitor.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp @@ -19,12 +19,13 @@ * * * Contact information: contact@sofa-framework.org * ******************************************************************************/ -#include "SceneCheckerVisitor.h" +#include -#include #include -namespace sofa::_scenechecking_ +#include + +namespace sofa::simulation { using sofa::core::ExecParams ; @@ -51,7 +52,7 @@ void SceneCheckerVisitor::removeCheck(sofa::simulation::SceneCheck::SPtr check) m_checkset.erase( std::remove( m_checkset.begin(), m_checkset.end(), check ), m_checkset.end() ); } -void SceneCheckerVisitor::validate(sofa::simulation::Node* node, simulation::SceneLoader* sceneLoader) +void SceneCheckerVisitor:: validate(sofa::simulation::Node* node, simulation::SceneLoader* sceneLoader) { std::stringstream tmp; bool first = true; diff --git a/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerVisitor.h b/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.h similarity index 88% rename from applications/projects/SceneChecking/src/SceneChecking/SceneCheckerVisitor.h rename to Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.h index 169bbf7b424..95f013d1592 100644 --- a/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerVisitor.h +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.h @@ -21,7 +21,7 @@ ******************************************************************************/ #pragma once -#include +#include #include #include #include @@ -31,10 +31,10 @@ #include -namespace sofa::_scenechecking_ +namespace sofa::simulation { -class SOFA_SCENECHECKING_API SceneCheckerVisitor : public sofa::simulation::Visitor +class SOFA_SIMULATION_CORE_API SceneCheckerVisitor : public sofa::simulation::Visitor { public: SceneCheckerVisitor(const sofa::core::ExecParams* params = sofa::core::execparams::defaultInstance()) ; @@ -50,9 +50,4 @@ class SOFA_SCENECHECKING_API SceneCheckerVisitor : public sofa::simulation::Visi std::vector m_checkset ; }; -} // namespace sofa::_scenechecking_ - -namespace sofa::scenechecking -{ - using _scenechecking_::SceneCheckerVisitor; -} // namespace sofa::scenechecking +} // namespace sofa::simulation diff --git a/applications/projects/SceneChecking/CMakeLists.txt b/applications/projects/SceneChecking/CMakeLists.txt index 9f31956954e..f9dd8c3eb2b 100644 --- a/applications/projects/SceneChecking/CMakeLists.txt +++ b/applications/projects/SceneChecking/CMakeLists.txt @@ -24,7 +24,6 @@ set(HEADER_FILES ${SCENECHECK_SRC_DIR}/SceneCheckSpecialCharacters.h ${SCENECHECK_SRC_DIR}/SceneCheckUsingAlias.h ${SCENECHECK_SRC_DIR}/SceneCheckerListener.h - ${SCENECHECK_SRC_DIR}/SceneCheckerVisitor.h ) set(SOURCE_FILES @@ -40,7 +39,6 @@ set(SOURCE_FILES ${SCENECHECK_SRC_DIR}/SceneCheckSpecialCharacters.cpp ${SCENECHECK_SRC_DIR}/SceneCheckUsingAlias.cpp ${SCENECHECK_SRC_DIR}/SceneCheckerListener.cpp - ${SCENECHECK_SRC_DIR}/SceneCheckerVisitor.cpp ) add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES}) diff --git a/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerListener.cpp b/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerListener.cpp index 05f1918b0c4..39106cede70 100644 --- a/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerListener.cpp +++ b/applications/projects/SceneChecking/src/SceneChecking/SceneCheckerListener.cpp @@ -21,9 +21,9 @@ ******************************************************************************/ #include "SceneCheckerListener.h" +#include #include #include -#include namespace sofa::_scenechecking_ { @@ -38,7 +38,7 @@ void SceneCheckerListener::rightAfterLoadingScene(sofa::simulation::Node::SPtr n { if(node.get()) { - sofa::scenechecking::SceneCheckerVisitor sceneCheckerVisitor; + sofa::simulation::SceneCheckerVisitor sceneCheckerVisitor; for (const auto& sceneCheck : sofa::simulation::SceneCheckMainRegistry::getRegisteredSceneChecks()) { From d3b06281e42d072cb61d29b48ae576777fcabb75 Mon Sep 17 00:00:00 2001 From: bakpaul Date: Fri, 12 Jun 2026 10:40:24 +0200 Subject: [PATCH 2/4] Fix test compilation --- .../projects/SceneChecking/tests/SceneChecker_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/projects/SceneChecking/tests/SceneChecker_test.cpp b/applications/projects/SceneChecking/tests/SceneChecker_test.cpp index 0adb3ab32a9..eca6738b482 100644 --- a/applications/projects/SceneChecking/tests/SceneChecker_test.cpp +++ b/applications/projects/SceneChecking/tests/SceneChecker_test.cpp @@ -24,8 +24,8 @@ using sofa::testing::BaseSimulationTest; #include -#include -using sofa::scenechecking::SceneCheckerVisitor; +#include +using sofa::simulation::SceneCheckerVisitor; #include using sofa::simulation::SceneCheck; From 4b3dc7a0cda3735b0e029b42c9ba18e41f743596 Mon Sep 17 00:00:00 2001 From: Paul Baksic <30337881+bakpaul@users.noreply.github.com> Date: Tue, 16 Jun 2026 10:00:19 +0200 Subject: [PATCH 3/4] Update Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp Co-authored-by: Hugo --- .../Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp index f0e5aa9e811..9c1eb7209c4 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/SceneCheckerVisitor.cpp @@ -52,7 +52,7 @@ void SceneCheckerVisitor::removeCheck(sofa::simulation::SceneCheck::SPtr check) m_checkset.erase( std::remove( m_checkset.begin(), m_checkset.end(), check ), m_checkset.end() ); } -void SceneCheckerVisitor:: validate(sofa::simulation::Node* node, simulation::SceneLoader* sceneLoader) +void SceneCheckerVisitor::validate(sofa::simulation::Node* node, simulation::SceneLoader* sceneLoader) { std::stringstream tmp; bool first = true; From 25f28c931feacc7a7bcf28bc633a6687d4c71a9f Mon Sep 17 00:00:00 2001 From: Paul Baksic Date: Wed, 17 Jun 2026 14:59:09 +0200 Subject: [PATCH 4/4] Add ocmpatibility layer for scene checking --- applications/projects/SceneChecking/CMakeLists.txt | 14 +++++++++++++- .../compat/SceneChecking/SceneCheckerVisitor.h | 10 ++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 applications/projects/SceneChecking/compat/SceneChecking/SceneCheckerVisitor.h diff --git a/applications/projects/SceneChecking/CMakeLists.txt b/applications/projects/SceneChecking/CMakeLists.txt index f9dd8c3eb2b..14daa343d07 100644 --- a/applications/projects/SceneChecking/CMakeLists.txt +++ b/applications/projects/SceneChecking/CMakeLists.txt @@ -10,6 +10,11 @@ sofa_find_package(Sofa.Component.Collision.Response.Contact REQUIRED) set(SCENECHECK_SRC_DIR src/SceneChecking) +set(DEPRECATED_DIR "compat/SceneChecking") +set(DEPRECATED_HEADER_FILES + ${DEPRECATED_DIR}/SceneCheckerVisitor.h +) + set(HEADER_FILES ${SCENECHECK_SRC_DIR}/config.h.in ${SCENECHECK_SRC_DIR}/init.h @@ -41,10 +46,17 @@ set(SOURCE_FILES ${SCENECHECK_SRC_DIR}/SceneCheckerListener.cpp ) -add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES}) +add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES} ${DEPRECATED_HEADER_FILES}) target_link_libraries(${PROJECT_NAME} PUBLIC Sofa.Simulation.Core Sofa.Component.SceneUtility Sofa.Component.Collision.Response.Contact) +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $ +) + +install(DIRECTORY compat/ DESTINATION include/${PROJECT_NAME}_compat COMPONENT headers) + sofa_create_package_with_targets( PACKAGE_NAME ${PROJECT_NAME} PACKAGE_VERSION ${Sofa_VERSION} diff --git a/applications/projects/SceneChecking/compat/SceneChecking/SceneCheckerVisitor.h b/applications/projects/SceneChecking/compat/SceneChecking/SceneCheckerVisitor.h new file mode 100644 index 00000000000..3ed7c3c9af7 --- /dev/null +++ b/applications/projects/SceneChecking/compat/SceneChecking/SceneCheckerVisitor.h @@ -0,0 +1,10 @@ +#pragma once +#include +SOFA_HEADER_DEPRECATED("v26.06", "v27.06", "sofa/simulation/SceneCheckerVisitor.h") + +namespace sofa::scenechecking +{ +using SceneCheckerVisitor SOFA_ATTRIBUTE_DEPRECATED("v26.06", "v27.06", + "sofa::scenechecking::SceneCheckerVisitor has been moved to sofa::simulation::SceneCheckerVisitor") + = sofa::simulation::SceneCheckerVisitor; +} // namespace sofa::scenechecking