From 49be20f92159f46eaec8dc4adf71c943e88fdac8 Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Fri, 30 Oct 2026 11:27:27 +0900 Subject: [PATCH 1/5] [Framework] Fix remaining compilation warnings - BaseMass: make the deprecated getPotentialEnergy(mparams) overload non-virtual (it was final) so Mass no longer hides it - ImplicitIntegrationScheme: mark integration factor methods override - Remove unused MechanicalGetNonDiagonalMassesCountVisitor includes - MechanicalOperations: silence deprecated-header messages for the PropagateDx visitors it still uses internally --- Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h | 2 +- .../Core/src/sofa/simulation/MechanicalOperations.cpp | 2 ++ .../AccelerationBasedImplicitIntegrationScheme.cpp | 1 - .../simulation/integrationscheme/ImplicitIntegrationScheme.h | 4 ++-- .../VelocityBasedImplicitIntegrationScheme.cpp | 4 ---- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h b/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h index ae60269f8a2..8832d920e0c 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h @@ -83,7 +83,7 @@ class SOFA_CORE_API BaseMass : public virtual StateAccessor virtual SReal getPotentialEnergy(const MechanicalParams* mparams, ConstMultiVecCoordId xId) const = 0; SOFA_ATTRIBUTE_DEPRECATED__GETPOTENTIALENERGY_OVERLOAD() - virtual SReal getPotentialEnergy(const MechanicalParams* mparams = mechanicalparams::defaultInstance()) const final; + SReal getPotentialEnergy(const MechanicalParams* mparams = mechanicalparams::defaultInstance()) const; /// (Mv,xMv+Iw) (linear and angular momenta against world origin) virtual type::Vec6 getMomentum(const MechanicalParams* mparams = mechanicalparams::defaultInstance()) const = 0; diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/MechanicalOperations.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/MechanicalOperations.cpp index 3902dc421c8..4e29a6658c9 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/MechanicalOperations.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/MechanicalOperations.cpp @@ -27,6 +27,8 @@ #define SOFA_SIMULATION_CORE_MECHANICALCOMPUTECONTACTFORCEVISITOR_CPP #define SOFA_SIMULATION_CORE_MECHANICALADDMBK_TOMATRIXVISITOR_CPP #define SOFA_SIMULATION_CORE_MECHANICALAPPLYPROJECTIVECONSTRAINT_TOMATRIXVISITOR_CPP +#define SOFA_SIMULATION_MECHANICALVISITOR_MECHANICALPROPAGATEDXVISITOR_CPP +#define SOFA_SIMULATION_MECHANICALVISITOR_MECHANICALPROPAGATEDXANDRESETFORCEVISITOR_CPP #include #include #include diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/AccelerationBasedImplicitIntegrationScheme.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/AccelerationBasedImplicitIntegrationScheme.cpp index 1482b4e732a..a801125c824 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/AccelerationBasedImplicitIntegrationScheme.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/AccelerationBasedImplicitIntegrationScheme.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/ImplicitIntegrationScheme.h b/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/ImplicitIntegrationScheme.h index cf8c36f6d72..7e6529053c8 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/ImplicitIntegrationScheme.h +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/ImplicitIntegrationScheme.h @@ -117,7 +117,7 @@ class SOFA_SIMULATION_CORE_API ImplicitIntegrationScheme : /// with $r$ being constant in term of $x$ and $k$ the integration factor returned by this function. /// /// This method is used to compute the compliance for contact corrections. - virtual SReal getVelocityIntegrationFactor() const = 0; + SReal getVelocityIntegrationFactor() const override = 0; /// The integration scheme solves a linear system. In this linear system the unknown has a unit. /// It can be the position, velocity or acceleration increase. In any case, this unknown need then @@ -131,7 +131,7 @@ class SOFA_SIMULATION_CORE_API ImplicitIntegrationScheme : /// with $r$ being constant in term of $x$ and $k$ the integration factor returned by this function. /// /// This method is used to compute the compliance for contact corrections. - virtual SReal getPositionIntegrationFactor() const = 0; + SReal getPositionIntegrationFactor() const override = 0; Data d_rayleighStiffness; ///< Rayleigh damping coefficient related to stiffness, > 0 Data d_rayleighMass; ///< Rayleigh damping coefficient related to mass, > 0 diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/VelocityBasedImplicitIntegrationScheme.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/VelocityBasedImplicitIntegrationScheme.cpp index 83ecd9b24c2..864a24bfac5 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/VelocityBasedImplicitIntegrationScheme.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/integrationscheme/VelocityBasedImplicitIntegrationScheme.cpp @@ -32,10 +32,6 @@ #include using sofa::simulation::mechanicalvisitor::MechanicalVOpVisitor; -#include -using sofa::simulation::mechanicalvisitor::MechanicalGetNonDiagonalMassesCountVisitor; - - namespace sofa::simulation::integrationscheme { From f9db2e4ca3309cce0a2b9b32930ce67359fdc5b3 Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Fri, 30 Oct 2026 13:04:30 +0900 Subject: [PATCH 2/5] [Framework] Fix variable shadowing warnings - BaseLink::readFromSnapshot: rename the link value string so the loop variable linkPath no longer hides it (C4456) - ObjectElement::initNode: rename local parent to parentElement so it no longer hides the Element::parent member (C4458) --- Sofa/framework/Core/src/sofa/core/objectmodel/BaseLink.cpp | 6 +++--- .../Common/src/sofa/simulation/common/xml/ObjectElement.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Sofa/framework/Core/src/sofa/core/objectmodel/BaseLink.cpp b/Sofa/framework/Core/src/sofa/core/objectmodel/BaseLink.cpp index 086728cffc9..d75f49f3ec8 100644 --- a/Sofa/framework/Core/src/sofa/core/objectmodel/BaseLink.cpp +++ b/Sofa/framework/Core/src/sofa/core/objectmodel/BaseLink.cpp @@ -348,9 +348,9 @@ bool BaseLink::readFromSnapshot( const std::string& str ) /// From the link std::vector linkPathsFromLink; - std::string linkPath = this->getValueString(); - - std::istringstream istrLink(linkPath); + const std::string linkValue = this->getValueString(); + + std::istringstream istrLink(linkValue); std::string linkStringBis; while (istrLink >> linkStringBis) diff --git a/Sofa/framework/Simulation/Common/src/sofa/simulation/common/xml/ObjectElement.cpp b/Sofa/framework/Simulation/Common/src/sofa/simulation/common/xml/ObjectElement.cpp index 99ac004b7d2..14e07050e9a 100644 --- a/Sofa/framework/Simulation/Common/src/sofa/simulation/common/xml/ObjectElement.cpp +++ b/Sofa/framework/Simulation/Common/src/sofa/simulation/common/xml/ObjectElement.cpp @@ -57,16 +57,16 @@ bool ObjectElement::init() bool ObjectElement::initNode() { core::objectmodel::BaseContext* ctx { nullptr }; - if (auto* parent = getParent()) + if (auto* parentElement = getParent()) { - if (auto* parentObj = parent->getObject()) + if (auto* parentObj = parentElement->getObject()) { ctx = parentObj->toBaseContext(); } else { msg_error("XML parser") << "Cannot access to a valid component from parent element \'" - << parent->getName() << "\' (type:\'" << parent->getAttribute("type") + << parentElement->getName() << "\' (type:\'" << parentElement->getAttribute("type") << "\') for the object element \'" << this->getName() << "\'"; } } From d20d32b2e5f4ae1fd7aac3fd2db714a19789de3e Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Fri, 30 Oct 2026 13:10:42 +0900 Subject: [PATCH 3/5] [Framework] Fix unreachable code warnings in Debug - CompressedRowSparseMatrixGeneric::compressCSR: wrap the body in if constexpr (Policy::CompressZeros) instead of an early return - FixedArrayTypeInfo::setSize: move the fallback return into an else branch of the if constexpr - BackTrace: remove the dead return after the switch in SigDescription, the default case already returns --- .../typeinfo/models/FixedArrayTypeInfo.h | 5 +- .../Helper/src/sofa/helper/BackTrace.cpp | 2 - .../CompressedRowSparseMatrixGeneric.h | 72 ++++++++++--------- 3 files changed, 41 insertions(+), 38 deletions(-) diff --git a/Sofa/framework/DefaultType/src/sofa/defaulttype/typeinfo/models/FixedArrayTypeInfo.h b/Sofa/framework/DefaultType/src/sofa/defaulttype/typeinfo/models/FixedArrayTypeInfo.h index 394872fb63d..22ad103c449 100644 --- a/Sofa/framework/DefaultType/src/sofa/defaulttype/typeinfo/models/FixedArrayTypeInfo.h +++ b/Sofa/framework/DefaultType/src/sofa/defaulttype/typeinfo/models/FixedArrayTypeInfo.h @@ -88,7 +88,10 @@ struct FixedArrayTypeInfo } return true; } - return false; + else + { + return false; + } } template diff --git a/Sofa/framework/Helper/src/sofa/helper/BackTrace.cpp b/Sofa/framework/Helper/src/sofa/helper/BackTrace.cpp index 549ed6ec92b..2c1452a91dd 100644 --- a/Sofa/framework/Helper/src/sofa/helper/BackTrace.cpp +++ b/Sofa/framework/Helper/src/sofa/helper/BackTrace.cpp @@ -190,8 +190,6 @@ static std::string SigDescription(int sig) return "SIGTERM: a termination request was sent to the program"; break; } - - return "Unknown signal"; } void BackTrace::sig(int sig) diff --git a/Sofa/framework/LinearAlgebra/src/sofa/linearalgebra/CompressedRowSparseMatrixGeneric.h b/Sofa/framework/LinearAlgebra/src/sofa/linearalgebra/CompressedRowSparseMatrixGeneric.h index 6d17d739165..2f900d4555b 100644 --- a/Sofa/framework/LinearAlgebra/src/sofa/linearalgebra/CompressedRowSparseMatrixGeneric.h +++ b/Sofa/framework/LinearAlgebra/src/sofa/linearalgebra/CompressedRowSparseMatrixGeneric.h @@ -716,49 +716,51 @@ public : void compressCSR() { - if constexpr (!Policy::CompressZeros) return; - Index outValues = 0; - Index outRows = 0; - for (Index r = 0; r < static_cast(rowIndex.size()); ++r) - { - Index row = rowIndex[r]; - Index rBegin = rowBegin[r]; - Index rEnd = rowBegin[r+1]; - Index outRBegin = outValues; - for (Index p = rBegin; p != rEnd; ++p) + if constexpr (Policy::CompressZeros) + { + Index outValues = 0; + Index outRows = 0; + for (Index r = 0; r < static_cast(rowIndex.size()); ++r) { - if (!traits::empty(colsValue[p])) + Index row = rowIndex[r]; + Index rBegin = rowBegin[r]; + Index rEnd = rowBegin[r+1]; + Index outRBegin = outValues; + for (Index p = rBegin; p != rEnd; ++p) { - // keep this value - if (p != outValues) + if (!traits::empty(colsValue[p])) { - colsValue[outValues] = colsValue[p]; - colsIndex[outValues] = colsIndex[p]; + // keep this value + if (p != outValues) + { + colsValue[outValues] = colsValue[p]; + colsIndex[outValues] = colsIndex[p]; + } + ++outValues; } - ++outValues; - } - } - if(outValues != outRBegin) - { - // keep this row - if (r != outRows) - { - rowIndex[outRows] = row; } - if (r != outRows || rBegin != outRBegin) + if(outValues != outRBegin) { - rowBegin[outRows] = outRBegin; + // keep this row + if (r != outRows) + { + rowIndex[outRows] = row; + } + if (r != outRows || rBegin != outRBegin) + { + rowBegin[outRows] = outRBegin; + } + ++outRows; } - ++outRows; } - } - if (static_cast(rowIndex.size()) != outRows || static_cast(colsIndex.size()) != outValues) - { - rowBegin[outRows] = outValues; - rowIndex.resize(outRows); - rowBegin.resize(outRows+1); - colsIndex.resize(outValues); - colsValue.resize(outValues); + if (static_cast(rowIndex.size()) != outRows || static_cast(colsIndex.size()) != outValues) + { + rowBegin[outRows] = outValues; + rowIndex.resize(outRows); + rowBegin.resize(outRows+1); + colsIndex.resize(outValues); + colsValue.resize(outValues); + } } } From 615c7954ac6f5f09d38b1bd4d3fa1c9c4de693b4 Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Fri, 30 Oct 2026 14:07:26 +0900 Subject: [PATCH 4/5] [Helper] Fix clang-cl warnings - DynamicLibrary: explicitly cast the GetProcAddress result to void* (-Wmicrosoft-cast) - PipeProcess: remove the set-but-unused busy flag in the Windows branch (-Wunused-but-set-variable) --- .../Helper/src/sofa/helper/system/DynamicLibrary.cpp | 4 ++-- Sofa/framework/Helper/src/sofa/helper/system/PipeProcess.cpp | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Sofa/framework/Helper/src/sofa/helper/system/DynamicLibrary.cpp b/Sofa/framework/Helper/src/sofa/helper/system/DynamicLibrary.cpp index 08eb4f4f15d..692d393b14b 100644 --- a/Sofa/framework/Helper/src/sofa/helper/system/DynamicLibrary.cpp +++ b/Sofa/framework/Helper/src/sofa/helper/system/DynamicLibrary.cpp @@ -104,8 +104,8 @@ void * DynamicLibrary::getSymbolAddress(Handle handle, return nullptr; } # if defined(WIN32) - void *symbolAddress = ::GetProcAddress((HMODULE)handle.m_realHandle, - symbol.c_str()); + void *symbolAddress = reinterpret_cast(::GetProcAddress((HMODULE)handle.m_realHandle, + symbol.c_str())); # else void *symbolAddress = ::dlsym(handle.m_realHandle, symbol.c_str()); # endif diff --git a/Sofa/framework/Helper/src/sofa/helper/system/PipeProcess.cpp b/Sofa/framework/Helper/src/sofa/helper/system/PipeProcess.cpp index 5ecfe606de6..34504084a18 100644 --- a/Sofa/framework/Helper/src/sofa/helper/system/PipeProcess.cpp +++ b/Sofa/framework/Helper/src/sofa/helper/system/PipeProcess.cpp @@ -192,7 +192,6 @@ bool PipeProcess::executeProcess(const std::string &command, const std::vector< if (exit != STILL_ACTIVE) break; - bool busy = false; for (int i=0; i<2; ++i) { DWORD n = BUFSIZE-nfill[i]; @@ -203,7 +202,6 @@ bool PipeProcess::executeProcess(const std::string &command, const std::vector< if (bread>0) { - busy = true; ReadFile(fds[i][0], buf[i]+nfill[i], n, &n, nullptr); nfill[i] += n; { From 0955de65a4d66b76c070832ec4abd3d0cecafd5e Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Mon, 9 Nov 2026 07:57:08 +0900 Subject: [PATCH 5/5] [Framework] Fix warnings from recent deprecations - BaseForceField, BaseMass: make the deprecated addDForce(mparams, dfId) and accFromF(mparams, aid) overloads non-virtual (they were final) so ForceField, Mass, PairInteractionForceField and MixedInteractionForceField no longer hide them (-Woverloaded-virtual) - Core config: do not mark beginIntegration as deprecated when building Sofa.Simulation.Core, whose deprecated MechanicalBeginIntegrationVisitor still calls it (-Wdeprecated-declarations) - MechanicalIntegrationVisitor: silence the deprecated-header message of MechanicalBeginIntegrationVisitor, which it still uses - DefaultAnimationLoop: remove the unused MechanicalBeginIntegrationVisitor include and mark dt as unused (-Wunused-parameter) - MechanicalMassLinearSolveVisitor: include its own header instead of the deprecated MechanicalAccFromFVisitor.h - Mass overrode the deprecated ForceField::addDForce(mparams, df, dx) with an empty body, which triggered C4996 in every module including Mass.h (e.g. Sofa.Simulation.Core). The base implementation is also empty, so removing the override keeps the same behavior --- .../framework/Core/src/sofa/core/behavior/BaseForceField.h | 2 +- Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h | 2 +- Sofa/framework/Core/src/sofa/core/behavior/Mass.h | 3 --- Sofa/framework/Core/src/sofa/core/behavior/Mass.inl | 7 ------- Sofa/framework/Core/src/sofa/core/config.h.in | 2 +- .../Core/src/sofa/simulation/DefaultAnimationLoop.cpp | 2 +- .../mechanicalvisitor/MechanicalIntegrationVisitor.cpp | 2 +- .../mechanicalvisitor/MechanicalMassLinearSolveVisitor.cpp | 2 +- 8 files changed, 6 insertions(+), 16 deletions(-) diff --git a/Sofa/framework/Core/src/sofa/core/behavior/BaseForceField.h b/Sofa/framework/Core/src/sofa/core/behavior/BaseForceField.h index 3eb13c9cf1f..a4c88dd6d4e 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/BaseForceField.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/BaseForceField.h @@ -117,7 +117,7 @@ class SOFA_CORE_API BaseForceField : public virtual StateAccessor ConstMultiVecCoordId xId, ConstMultiVecDerivId vId) = 0; SOFA_ATTRIBUTE_DEPRECATED__ADDDFORCE_OVERLOAD() - virtual void addDForce(const MechanicalParams* mparams, MultiVecDerivId dfId) final; + void addDForce(const MechanicalParams* mparams, MultiVecDerivId dfId); /// \brief Accumulate the contribution of M, B, and/or K matrices multiplied /// by the dx vector with the given coefficients. diff --git a/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h b/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h index 8832d920e0c..ef74c95dfee 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/BaseMass.h @@ -63,7 +63,7 @@ class SOFA_CORE_API BaseMass : public virtual StateAccessor /// dx = M^-1 f SOFA_CORE_DEPRECATED_ACCFROMF() - virtual void accFromF(const MechanicalParams* mparams, MultiVecDerivId aid) final; + void accFromF(const MechanicalParams* mparams, MultiVecDerivId aid); /// Solve M x = b, or x = M^-1 b, where M is the mass matrix /// diff --git a/Sofa/framework/Core/src/sofa/core/behavior/Mass.h b/Sofa/framework/Core/src/sofa/core/behavior/Mass.h index d97329fa710..c80daee0ab8 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/Mass.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/Mass.h @@ -74,9 +74,6 @@ class Mass : virtual public ForceField, public BaseMass void solveLinearSystem(const MechanicalParams* mparams, MultiVecDerivId xId, ConstMultiVecDerivId bId) override; virtual void doSolveLinearSystem(const MechanicalParams* mparams, DataVecDeriv& x, const DataVecDeriv& b); - /// Mass forces (gravity) often have null derivative - void addDForce(const MechanicalParams* /*mparams*/, DataVecDeriv & /*df*/, const DataVecDeriv & /*dx*/ ) override; - /// Accumulate the contribution of M, B, and/or K matrices multiplied /// by the dx vector with the given coefficients. /// diff --git a/Sofa/framework/Core/src/sofa/core/behavior/Mass.inl b/Sofa/framework/Core/src/sofa/core/behavior/Mass.inl index 59cf2be1de0..4efc2c1e465 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/Mass.inl +++ b/Sofa/framework/Core/src/sofa/core/behavior/Mass.inl @@ -97,13 +97,6 @@ void Mass::doSolveLinearSystem(const MechanicalParams* mparams, this->getClassName() << "'. Behavior is undefined. Try using a linear solver."; } -template -void Mass::addDForce(const MechanicalParams* mparams, - DataVecDeriv & /*df*/, const DataVecDeriv & /*dx*/) -{ - SOFA_UNUSED(mparams); -} - template void Mass::addMBKdx(const MechanicalParams* mparams, MultiVecDerivId dfId) { diff --git a/Sofa/framework/Core/src/sofa/core/config.h.in b/Sofa/framework/Core/src/sofa/core/config.h.in index 8e691846ce4..2706743f874 100644 --- a/Sofa/framework/Core/src/sofa/core/config.h.in +++ b/Sofa/framework/Core/src/sofa/core/config.h.in @@ -154,7 +154,7 @@ SOFA_ATTRIBUTE_DEPRECATED("v26.12", "v27.12", "Use BaseContext instead of Contex SOFA_ATTRIBUTE_DEPRECATED("v26.12", "v27.12", "Use resetVec instead.") #endif -#ifdef SOFA_BUILD_SOFA_CORE +#if defined(SOFA_BUILD_SOFA_CORE) || defined(SOFA_BUILD_SOFA_SIMULATION_CORE) #define SOFA_CORE_DEPRECATED_BEGININTEGRATION() #else #define SOFA_CORE_DEPRECATED_BEGININTEGRATION() \ diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/DefaultAnimationLoop.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/DefaultAnimationLoop.cpp index 37f5ed12089..c30714304a0 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/DefaultAnimationLoop.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/DefaultAnimationLoop.cpp @@ -47,7 +47,6 @@ #include #include #include -#include #include #include #include @@ -175,6 +174,7 @@ void DefaultAnimationLoop::propagateAnimateBeginEvent(const core::ExecParams* pa void DefaultAnimationLoop::beginIntegration(const core::ExecParams* params, SReal dt) const { + SOFA_UNUSED(dt); propagateIntegrateBeginEvent(params); } diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalIntegrationVisitor.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalIntegrationVisitor.cpp index 4e32fddf18e..79dcaf62a70 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalIntegrationVisitor.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalIntegrationVisitor.cpp @@ -19,7 +19,7 @@ * * * Contact information: contact@sofa-framework.org * ******************************************************************************/ - +#define SOFA_SIMULATION_MECHANICALVISITOR_MECHANICALBEGININTEGRATIONVISITOR_CPP #include #include diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalMassLinearSolveVisitor.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalMassLinearSolveVisitor.cpp index defa3c8388a..429e5c81894 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalMassLinearSolveVisitor.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalMassLinearSolveVisitor.cpp @@ -20,7 +20,7 @@ * Contact information: contact@sofa-framework.org * ******************************************************************************/ -#include +#include #include