From e04de87dbf0ecd16644b93e7f16ce62baa0bda54 Mon Sep 17 00:00:00 2001 From: Alex Bilger Date: Wed, 10 Dec 2025 16:08:48 +0100 Subject: [PATCH] [all] Virtual inheritance of SingleStateAccessor --- .../Analyze/src/sofa/component/engine/analyze/AverageCoord.h | 2 +- .../Analyze/src/sofa/component/engine/analyze/ShapeMatching.h | 2 +- .../Core/src/sofa/core/behavior/ConstraintCorrection.h | 2 +- Sofa/framework/Core/src/sofa/core/behavior/ForceField.h | 2 +- .../Core/src/sofa/core/behavior/LagrangianConstraint.h | 2 +- .../Core/src/sofa/core/behavior/ProjectiveConstraintSet.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/AverageCoord.h b/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/AverageCoord.h index a0bdae2ebd7..ed232e07d08 100644 --- a/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/AverageCoord.h +++ b/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/AverageCoord.h @@ -38,7 +38,7 @@ namespace sofa::component::engine::analyze * This class computes the average of a set of Coordinates */ template -class AverageCoord : public core::DataEngine, public core::behavior::SingleStateAccessor +class AverageCoord : public core::DataEngine, public virtual core::behavior::SingleStateAccessor { public: SOFA_CLASS(SOFA_TEMPLATE(AverageCoord,DataTypes),core::DataEngine); diff --git a/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/ShapeMatching.h b/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/ShapeMatching.h index 38645353cbd..bdc471be096 100644 --- a/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/ShapeMatching.h +++ b/Sofa/Component/Engine/Analyze/src/sofa/component/engine/analyze/ShapeMatching.h @@ -41,7 +41,7 @@ namespace sofa::component::engine::analyze * This class computes target positions using shape matching deformation [Muller05][Muller11] */ template -class ShapeMatching : public core::DataEngine, public core::behavior::SingleStateAccessor +class ShapeMatching : public core::DataEngine, public virtual core::behavior::SingleStateAccessor { public: SOFA_CLASS(SOFA_TEMPLATE(ShapeMatching,DataTypes),core::DataEngine); diff --git a/Sofa/framework/Core/src/sofa/core/behavior/ConstraintCorrection.h b/Sofa/framework/Core/src/sofa/core/behavior/ConstraintCorrection.h index fe8502f0070..dbcb378c194 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/ConstraintCorrection.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/ConstraintCorrection.h @@ -33,7 +33,7 @@ namespace sofa::core::behavior * Component computing constraint forces within a simulated body using the compliance method. */ template -class ConstraintCorrection : public BaseConstraintCorrection, public SingleStateAccessor +class ConstraintCorrection : public BaseConstraintCorrection, public virtual SingleStateAccessor { public: SOFA_ABSTRACT_CLASS2(SOFA_TEMPLATE(ConstraintCorrection, TDataTypes), diff --git a/Sofa/framework/Core/src/sofa/core/behavior/ForceField.h b/Sofa/framework/Core/src/sofa/core/behavior/ForceField.h index c8bc6c8fd0d..fd493afff0f 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/ForceField.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/ForceField.h @@ -42,7 +42,7 @@ namespace sofa::core::behavior * ( df, given a displacement dx ). */ template -class ForceField : public BaseForceField, public SingleStateAccessor +class ForceField : public BaseForceField, public virtual SingleStateAccessor { public: SOFA_CLASS2(SOFA_TEMPLATE(ForceField, TDataTypes), BaseForceField, SOFA_TEMPLATE(SingleStateAccessor, TDataTypes)); diff --git a/Sofa/framework/Core/src/sofa/core/behavior/LagrangianConstraint.h b/Sofa/framework/Core/src/sofa/core/behavior/LagrangianConstraint.h index 52aba30d714..7eabee6cf10 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/LagrangianConstraint.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/LagrangianConstraint.h @@ -41,7 +41,7 @@ namespace sofa::core::behavior * */ template -class LagrangianConstraint : public BaseLagrangianConstraint, public SingleStateAccessor +class LagrangianConstraint : public BaseLagrangianConstraint, public virtual SingleStateAccessor { public: SOFA_CLASS2(SOFA_TEMPLATE(LagrangianConstraint, DataTypes), BaseLagrangianConstraint, SOFA_TEMPLATE(SingleStateAccessor, DataTypes)); diff --git a/Sofa/framework/Core/src/sofa/core/behavior/ProjectiveConstraintSet.h b/Sofa/framework/Core/src/sofa/core/behavior/ProjectiveConstraintSet.h index 6374406aa49..14f01b571d2 100644 --- a/Sofa/framework/Core/src/sofa/core/behavior/ProjectiveConstraintSet.h +++ b/Sofa/framework/Core/src/sofa/core/behavior/ProjectiveConstraintSet.h @@ -39,7 +39,7 @@ namespace sofa::core::behavior * */ template -class ProjectiveConstraintSet : public BaseProjectiveConstraintSet, public SingleStateAccessor +class ProjectiveConstraintSet : public BaseProjectiveConstraintSet, public virtual SingleStateAccessor { public: SOFA_CLASS2(SOFA_TEMPLATE(ProjectiveConstraintSet,DataTypes), BaseProjectiveConstraintSet, SOFA_TEMPLATE(SingleStateAccessor, DataTypes));