X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingFieldInt32.cxx;h=3a063dcbd6c31bf41f5e73dd0b57b1536eb74a38;hb=e047259d4379db94f72d88eb21596f08f4ca6613;hp=72141f9ea27f679cf0ccf61db638a9a5983e28b1;hpb=b307fa3ee9c6d9e08082e2ccc832b28a17fd6d2c;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingFieldInt32.cxx b/src/MEDCoupling/MEDCouplingFieldInt32.cxx index 72141f9ea..3a063dcbd 100644 --- a/src/MEDCoupling/MEDCouplingFieldInt32.cxx +++ b/src/MEDCoupling/MEDCouplingFieldInt32.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2021 CEA/DEN, EDF R&D +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -19,8 +19,10 @@ // Author : Yann Pora (EDF R&D) #include "MEDCouplingFieldInt32.hxx" +#include "MEDCouplingFieldInt64.hxx" #include "MEDCouplingFieldT.txx" #include "MEDCouplingFieldDouble.hxx" +#include "MEDCouplingFieldFloat.hxx" #include "MEDCouplingFieldTemplate.hxx" #include "MEDCouplingMesh.hxx" #include "MEDCouplingMemArray.txx" @@ -68,17 +70,33 @@ MEDCouplingFieldInt32 *MEDCouplingFieldInt32::clone(bool recDeepCpy) const return new MEDCouplingFieldInt32(*this,recDeepCpy); } -MEDCouplingFieldDouble *MEDCouplingFieldInt32::convertToDblField() const +template +typename Traits::FieldType *ConvertToUField(const MEDCouplingFieldInt32 *self) { - MCAuto tmp(MEDCouplingFieldTemplate::New(*this)); + MCAuto tmp(MEDCouplingFieldTemplate::New(*self)); int t1,t2; - double t0(getTime(t1,t2)); - MCAuto ret(MEDCouplingFieldDouble::New(*tmp,getTimeDiscretization())); + double t0(self->getTime(t1,t2)); + MCAuto::FieldType > ret(Traits::FieldType::New(*tmp,self->getTimeDiscretization())); ret->setTime(t0,t1,t2); - if(getArray()) + if(self->getArray()) { - MCAuto arr(getArray()->convertToDblArr()); + MCAuto::ArrayType> arr(self->getArray()->convertToOtherTypeOfArr()); ret->setArray(arr); } return ret.retn(); } + +MEDCouplingFieldDouble *MEDCouplingFieldInt32::convertToDblField() const +{ + return ConvertToUField(this); +} + +MEDCouplingFieldInt64 *MEDCouplingFieldInt32::convertToInt64Field() const +{ + return ConvertToUField(this); +} + +MEDCouplingFieldFloat *MEDCouplingFieldInt32::convertToFloatField() const +{ + return ConvertToUField(this); +} \ No newline at end of file