From 6d3bd015aa6f39fe0e5a76a7a1d361350415100f Mon Sep 17 00:00:00 2001 From: Frederick Roy Date: Tue, 15 Sep 2026 15:10:03 +0900 Subject: [PATCH] Fix remaining compiler warnings in the framework - DrawColoredMesh: SOFA_UNUSED() the parameters of the empty doDraw specializations for Edge/Triangle/Quad/Prism/Pyramid. - IdentityMatrix: SOFA_UNUSED() the identity operand in the operators that do not consume it. - MechanicalPropagateOnlyVelocityVisitor: SOFA_UNUSED(time). - Visitor_test: SOFA_UNUSED() the parameters of the override stubs. - TopologySubsetIndices_test: mark init/getTopologyType/getNbPoints as override (they override base-class virtuals). - Proximity_test: static_cast() the [[nodiscard]] call. - Triangle_test: drop two unused 'using Scalar = ...' aliases. --- .../src/sofa/core/visual/DrawColoredMesh.h | 25 +++ .../topology/TopologySubsetIndices_test.cpp | 6 +- .../Geometry/test/Proximity_test.cpp | 2 +- .../framework/Geometry/test/Triangle_test.cpp | 2 - ...MechanicalPropagateOnlyVelocityVisitor.cpp | 1 + .../Simulation/Core/test/Visitor_test.cpp | 153 +++++++++++++++--- .../Type/src/sofa/type/IdentityMatrix.h | 5 + 7 files changed, 164 insertions(+), 30 deletions(-) diff --git a/Sofa/framework/Core/src/sofa/core/visual/DrawColoredMesh.h b/Sofa/framework/Core/src/sofa/core/visual/DrawColoredMesh.h index 3bb49114094..23aa4e462f4 100644 --- a/Sofa/framework/Core/src/sofa/core/visual/DrawColoredMesh.h +++ b/Sofa/framework/Core/src/sofa/core/visual/DrawColoredMesh.h @@ -122,6 +122,11 @@ struct SOFA_CORE_API DrawElementColoredMesh const IndicesContainer& elementIndices, const ColorContainer& nodesColors) { + SOFA_UNUSED(drawTool); + SOFA_UNUSED(position); + SOFA_UNUSED(topology); + SOFA_UNUSED(elementIndices); + SOFA_UNUSED(nodesColors); } }; @@ -140,6 +145,11 @@ struct SOFA_CORE_API DrawElementColoredMesh const IndicesContainer& elementIndices, const ColorContainer& nodesColors) { + SOFA_UNUSED(drawTool); + SOFA_UNUSED(position); + SOFA_UNUSED(topology); + SOFA_UNUSED(elementIndices); + SOFA_UNUSED(nodesColors); } }; @@ -158,6 +168,11 @@ struct SOFA_CORE_API DrawElementColoredMesh const IndicesContainer& elementIndices, const ColorContainer& nodesColors) { + SOFA_UNUSED(drawTool); + SOFA_UNUSED(position); + SOFA_UNUSED(topology); + SOFA_UNUSED(elementIndices); + SOFA_UNUSED(nodesColors); } }; @@ -295,6 +310,11 @@ struct SOFA_CORE_API DrawElementColoredMesh const IndicesContainer& elementIndices, const ColorContainer& nodesColors) { + SOFA_UNUSED(drawTool); + SOFA_UNUSED(position); + SOFA_UNUSED(topology); + SOFA_UNUSED(elementIndices); + SOFA_UNUSED(nodesColors); } }; @@ -313,6 +333,11 @@ struct SOFA_CORE_API DrawElementColoredMesh const IndicesContainer& elementIndices, const ColorContainer& nodesColors) { + SOFA_UNUSED(drawTool); + SOFA_UNUSED(position); + SOFA_UNUSED(topology); + SOFA_UNUSED(elementIndices); + SOFA_UNUSED(nodesColors); } }; diff --git a/Sofa/framework/Core/test/topology/TopologySubsetIndices_test.cpp b/Sofa/framework/Core/test/topology/TopologySubsetIndices_test.cpp index 1d68b7870f9..8bd18fc1ba4 100644 --- a/Sofa/framework/Core/test/topology/TopologySubsetIndices_test.cpp +++ b/Sofa/framework/Core/test/topology/TopologySubsetIndices_test.cpp @@ -39,7 +39,7 @@ class SimplePointTopology: public BaseMeshTopology } } - virtual void init() + void init() override { BaseMeshTopology::init(); m_data.createTopologyHandler(this); @@ -53,13 +53,13 @@ class SimplePointTopology: public BaseMeshTopology const SeqPrisms& getPrisms() override { return m_prisms; } const SeqPyramids& getPyramids() override { return m_pyramids; } - virtual sofa::geometry::ElementType getTopologyType() const + sofa::geometry::ElementType getTopologyType() const override { return sofa::geometry::ElementType::POINT; } - virtual Size getNbPoints() const { return m_points.size(); } + Size getNbPoints() const override { return m_points.size(); } void removePoints(const unsigned nb) { if(nb >= m_points.size()) diff --git a/Sofa/framework/Geometry/test/Proximity_test.cpp b/Sofa/framework/Geometry/test/Proximity_test.cpp index 03ca7d5a1e8..3adb56f0f9d 100644 --- a/Sofa/framework/Geometry/test/Proximity_test.cpp +++ b/Sofa/framework/Geometry/test/Proximity_test.cpp @@ -120,7 +120,7 @@ TEST(GeometryProximity_test, closestPointOnTriangle_degenerateTriangle) sofa::type::Vec3d closest; // LCP solver may return false for degenerate triangles - sofa::geometry::proximity::computeClosestPointOnTriangleToPoint(t0, t1, t2, q, closest); + static_cast(sofa::geometry::proximity::computeClosestPointOnTriangleToPoint(t0, t1, t2, q, closest)); // Just verify it doesn't crash; result depends on LCP solver behavior } diff --git a/Sofa/framework/Geometry/test/Triangle_test.cpp b/Sofa/framework/Geometry/test/Triangle_test.cpp index d203601601e..e6c60162f47 100644 --- a/Sofa/framework/Geometry/test/Triangle_test.cpp +++ b/Sofa/framework/Geometry/test/Triangle_test.cpp @@ -286,7 +286,6 @@ TYPED_TEST(GeometryVec3DTriangle_test, isPointInTriangle) TYPED_TEST(GeometryVec2DTriangle_test, getBarycentricCoordinates) { - using Scalar = typename TypeParam::value_type; const TypeParam a{ 0., 0. }; const TypeParam b{ 2., 0. }; @@ -331,7 +330,6 @@ TYPED_TEST(GeometryVec2DTriangle_test, getBarycentricCoordinates) TYPED_TEST(GeometryVec3DTriangle_test, getBarycentricCoordinates) { - using Scalar = typename TypeParam::value_type; const TypeParam a{ 0., 0., 0. }; const TypeParam b{ 2., 0., 2. }; diff --git a/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalPropagateOnlyVelocityVisitor.cpp b/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalPropagateOnlyVelocityVisitor.cpp index a9c488df6ad..cd494bdb213 100644 --- a/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalPropagateOnlyVelocityVisitor.cpp +++ b/Sofa/framework/Simulation/Core/src/sofa/simulation/mechanicalvisitor/MechanicalPropagateOnlyVelocityVisitor.cpp @@ -30,6 +30,7 @@ MechanicalPropagateOnlyVelocityVisitor::MechanicalPropagateOnlyVelocityVisitor( SReal time, core::MultiVecDerivId v) : MechanicalVisitor(mparams), v(v) { + SOFA_UNUSED(time); #ifdef SOFA_DUMP_VISITOR_INFO setReadWriteVectors(); #endif diff --git a/Sofa/framework/Simulation/Core/test/Visitor_test.cpp b/Sofa/framework/Simulation/Core/test/Visitor_test.cpp index e3a2d2f703d..9b2f2788304 100644 --- a/Sofa/framework/Simulation/Core/test/Visitor_test.cpp +++ b/Sofa/framework/Simulation/Core/test/Visitor_test.cpp @@ -23,6 +23,7 @@ class TestVisitorWithoutInteractionForceField : public simulation::MechanicalVis Result fwdMechanicalMapping(simulation::Node* /*node*/, sofa::core::BaseMapping* map) override { + SOFA_UNUSED(map); ++m_mappingCount; return Result::RESULT_CONTINUE; } @@ -57,6 +58,7 @@ class TestVisitorWithInteractionForceField : public simulation::MechanicalVisito Result fwdMechanicalMapping(simulation::Node*, sofa::core::BaseMapping* map) override { + SOFA_UNUSED(map); ++m_mappingCount; return Result::RESULT_CONTINUE; } @@ -88,48 +90,151 @@ class TestVisitorWithInteractionForceField : public simulation::MechanicalVisito class TestForceField : public core::behavior::BaseForceField { public: - void addForce(const core::MechanicalParams* mparams, core::MultiVecDerivId fId) override {} - void addDForce(const core::MechanicalParams* mparams, core::MultiVecDerivId dfId) override {} - SReal getPotentialEnergy(const core::MechanicalParams* mparams) const override { return {}; } - void addKToMatrix(const core::MechanicalParams* mparams, const sofa::core::behavior::MultiMatrixAccessor* matrix) override {} + void addForce(const core::MechanicalParams* mparams, core::MultiVecDerivId fId) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(fId); + } + void addDForce(const core::MechanicalParams* mparams, core::MultiVecDerivId dfId) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(dfId); + } + SReal getPotentialEnergy(const core::MechanicalParams* mparams) const override + { + SOFA_UNUSED(mparams); + return {}; + } + void addKToMatrix(const core::MechanicalParams* mparams, const sofa::core::behavior::MultiMatrixAccessor* matrix) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(matrix); + } }; class TestMass : public core::behavior::BaseMass { public: - void addMDx(const core::MechanicalParams* mparams, core::MultiVecDerivId fid, SReal factor) override {} - void accFromF(const core::MechanicalParams* mparams, core::MultiVecDerivId aid) override {} - void addGravityToV(const core::MechanicalParams* mparams, core::MultiVecDerivId vid) override {} - SReal getKineticEnergy(const core::MechanicalParams* mparams) const override { return {}; } - SReal getPotentialEnergy(const core::MechanicalParams* mparams) const override { return {}; } - type::Vec6 getMomentum(const core::MechanicalParams* mparams) const override { return {}; } - void addMToMatrix(const core::MechanicalParams* mparams, const sofa::core::behavior::MultiMatrixAccessor* matrix) override {} - void initGnuplot(const std::string path) override {} - void exportGnuplot(const core::MechanicalParams* mparams, SReal time) override {} - SReal getElementMass(sofa::Index index) const override { return {}; } - void getElementMass(sofa::Index index, linearalgebra::BaseMatrix* m) const override {} + void addMDx(const core::MechanicalParams* mparams, core::MultiVecDerivId fid, SReal factor) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(fid); + SOFA_UNUSED(factor); + } + void accFromF(const core::MechanicalParams* mparams, core::MultiVecDerivId aid) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(aid); + } + void addGravityToV(const core::MechanicalParams* mparams, core::MultiVecDerivId vid) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(vid); + } + SReal getKineticEnergy(const core::MechanicalParams* mparams) const override + { + SOFA_UNUSED(mparams); + return {}; + } + SReal getPotentialEnergy(const core::MechanicalParams* mparams) const override + { + SOFA_UNUSED(mparams); + return {}; + } + type::Vec6 getMomentum(const core::MechanicalParams* mparams) const override + { + SOFA_UNUSED(mparams); + return {}; + } + void addMToMatrix(const core::MechanicalParams* mparams, const sofa::core::behavior::MultiMatrixAccessor* matrix) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(matrix); + } + void initGnuplot(const std::string path) override + { + SOFA_UNUSED(path); + } + void exportGnuplot(const core::MechanicalParams* mparams, SReal time) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(time); + } + SReal getElementMass(sofa::Index index) const override + { + SOFA_UNUSED(index); + return {}; + } + void getElementMass(sofa::Index index, linearalgebra::BaseMatrix* m) const override + { + SOFA_UNUSED(index); + SOFA_UNUSED(m); + } bool isDiagonal() const override { return {}; } }; class TestInteractionForceField : public core::behavior::BaseInteractionForceField { public: - void addForce(const core::MechanicalParams* mparams, core::MultiVecDerivId fId) override {} - void addDForce(const core::MechanicalParams* mparams, core::MultiVecDerivId dfId) override {} - SReal getPotentialEnergy(const core::MechanicalParams* mparams) const override { return {}; } + void addForce(const core::MechanicalParams* mparams, core::MultiVecDerivId fId) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(fId); + } + void addDForce(const core::MechanicalParams* mparams, core::MultiVecDerivId dfId) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(dfId); + } + SReal getPotentialEnergy(const core::MechanicalParams* mparams) const override + { + SOFA_UNUSED(mparams); + return {}; + } }; class TestMapping : public core::BaseMapping { public: - void apply(const core::MechanicalParams* mparams, core::MultiVecCoordId outPos, core::ConstMultiVecCoordId inPos) override {} - void applyJ(const core::MechanicalParams* mparams, core::MultiVecDerivId outVel, core::ConstMultiVecDerivId inVel) override {} + void apply(const core::MechanicalParams* mparams, core::MultiVecCoordId outPos, core::ConstMultiVecCoordId inPos) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(outPos); + SOFA_UNUSED(inPos); + } + void applyJ(const core::MechanicalParams* mparams, core::MultiVecDerivId outVel, core::ConstMultiVecDerivId inVel) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(outVel); + SOFA_UNUSED(inVel); + } type::vector getFrom() override { return {} ;} type::vector getTo() override { return {} ;} - void applyJT(const core::MechanicalParams* mparams, core::MultiVecDerivId inForce, core::ConstMultiVecDerivId outForce) override {} - void applyDJT(const core::MechanicalParams* mparams, core::MultiVecDerivId inForce, core::ConstMultiVecDerivId outForce) override {} - void applyJT(const core::ConstraintParams* mparams, core::MultiMatrixDerivId inConst, core::ConstMultiMatrixDerivId outConst) override {} - void computeAccFromMapping(const core::MechanicalParams* mparams, core::MultiVecDerivId outAcc, core::ConstMultiVecDerivId inVel, core::ConstMultiVecDerivId inAcc) override {} + void applyJT(const core::MechanicalParams* mparams, core::MultiVecDerivId inForce, core::ConstMultiVecDerivId outForce) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(inForce); + SOFA_UNUSED(outForce); + } + void applyDJT(const core::MechanicalParams* mparams, core::MultiVecDerivId inForce, core::ConstMultiVecDerivId outForce) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(inForce); + SOFA_UNUSED(outForce); + } + void applyJT(const core::ConstraintParams* mparams, core::MultiMatrixDerivId inConst, core::ConstMultiMatrixDerivId outConst) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(inConst); + SOFA_UNUSED(outConst); + } + void computeAccFromMapping(const core::MechanicalParams* mparams, core::MultiVecDerivId outAcc, core::ConstMultiVecDerivId inVel, core::ConstMultiVecDerivId inAcc) override + { + SOFA_UNUSED(mparams); + SOFA_UNUSED(outAcc); + SOFA_UNUSED(inVel); + SOFA_UNUSED(inAcc); + } type::vector getMechFrom() override { return {} ;} type::vector getMechTo() override { return {} ;} void disable() override {} diff --git a/Sofa/framework/Type/src/sofa/type/IdentityMatrix.h b/Sofa/framework/Type/src/sofa/type/IdentityMatrix.h index fd7c16227ab..97d12d11f40 100644 --- a/Sofa/framework/Type/src/sofa/type/IdentityMatrix.h +++ b/Sofa/framework/Type/src/sofa/type/IdentityMatrix.h @@ -17,6 +17,7 @@ struct ScaledIdentityMatrix template constexpr Mat operator+(const IdentityMatrix& I, const Mat& M) { + SOFA_UNUSED(I); Mat res(M); for (sofa::Size i = 0; i < N; ++i) { @@ -34,6 +35,7 @@ constexpr Mat operator+(const Mat& M, const IdentityMatr template constexpr Mat operator-(const IdentityMatrix& I, const Mat& M) { + SOFA_UNUSED(I); Mat res(-M); for (sofa::Size i = 0; i < N; ++i) { @@ -45,6 +47,7 @@ constexpr Mat operator-(const IdentityMatrix& I, const Mat constexpr Mat operator-(const Mat& M, const IdentityMatrix& I) { + SOFA_UNUSED(I); Mat res(M); for (sofa::Size i = 0; i < N; ++i) { @@ -56,12 +59,14 @@ constexpr Mat operator-(const Mat& M, const IdentityMatr template constexpr ScaledIdentityMatrix operator*(const IdentityMatrix& I, real s) { + SOFA_UNUSED(I); return { s }; } template constexpr ScaledIdentityMatrix operator*(real s, const IdentityMatrix& I) { + SOFA_UNUSED(I); return { s }; }