From 42e2f3cf16ba76c42b8a1a2faaa9cf73b42ef4ec Mon Sep 17 00:00:00 2001 From: Lucas Burel Date: Wed, 27 May 2026 10:27:33 +0200 Subject: [PATCH] fix Output stream and Input stream for TetrahedronInformation --- .../TetrahedralCorotationalFEMForceField.h | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Sofa/Component/SolidMechanics/FEM/Elastic/src/sofa/component/solidmechanics/fem/elastic/TetrahedralCorotationalFEMForceField.h b/Sofa/Component/SolidMechanics/FEM/Elastic/src/sofa/component/solidmechanics/fem/elastic/TetrahedralCorotationalFEMForceField.h index d5116e2f8ea..0752fd57b6f 100644 --- a/Sofa/Component/SolidMechanics/FEM/Elastic/src/sofa/component/solidmechanics/fem/elastic/TetrahedralCorotationalFEMForceField.h +++ b/Sofa/Component/SolidMechanics/FEM/Elastic/src/sofa/component/solidmechanics/fem/elastic/TetrahedralCorotationalFEMForceField.h @@ -113,14 +113,32 @@ class TetrahedralCorotationalFEMForceField : public BaseLinearElasticityFEMForce } /// Output stream - inline friend std::ostream& operator<< ( std::ostream& os, const TetrahedronInformation& /*tri*/ ) + inline friend std::ostream& operator<< ( std::ostream& os, const TetrahedronInformation& tri ) { + os << tri.materialMatrix << " "; + os << tri.strainDisplacementTransposedMatrix << " "; + + for (int i = 0; i < 4; ++i) + os << tri.rotatedInitialElements[i] << " "; + + os << tri.elemShapeFun << " "; + os << tri.rotation << " "; + os << tri.initialTransformation << " "; return os; } /// Input stream - inline friend std::istream& operator>> ( std::istream& in, TetrahedronInformation& /*tri*/ ) + inline friend std::istream& operator>> ( std::istream& in, TetrahedronInformation& tri ) { + in >> tri.materialMatrix; + in >> tri.strainDisplacementTransposedMatrix; + + for (int i = 0; i < 4; ++i) + in >> tri.rotatedInitialElements[i]; + + in >> tri.elemShapeFun; + in >> tri.rotation; + in >> tri.initialTransformation; return in; } };