X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingGaussLocalization.hxx;h=c43a706d10d20576928adfef2ecb8aac534f4a20;hb=b607ffc713080a567fb90595118069ac18181e99;hp=97a3e611253b3e3f2d77fe7554c449f696650605;hpb=5c5eac0685cacee529bf388d4369f3535c3803f9;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingGaussLocalization.hxx b/src/MEDCoupling/MEDCouplingGaussLocalization.hxx index 97a3e6112..c43a706d1 100644 --- a/src/MEDCoupling/MEDCouplingGaussLocalization.hxx +++ b/src/MEDCoupling/MEDCouplingGaussLocalization.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D +// Copyright (C) 2007-2020 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 // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -23,50 +23,55 @@ #include "MEDCoupling.hxx" #include "NormalizedUnstructuredMesh.hxx" +#include "MEDCouplingMemArray.hxx" #include "InterpKernelException.hxx" #include -namespace ParaMEDMEM +namespace MEDCoupling { class MEDCouplingMesh; + class MEDCouplingUMesh; class MEDCouplingGaussLocalization { public: MEDCOUPLING_EXPORT MEDCouplingGaussLocalization(INTERP_KERNEL::NormalizedCellType type, const std::vector& refCoo, - const std::vector& gsCoo, const std::vector& w) throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT MEDCouplingGaussLocalization(INTERP_KERNEL::NormalizedCellType typ) throw(INTERP_KERNEL::Exception); + const std::vector& gsCoo, const std::vector& w); + MEDCOUPLING_EXPORT MEDCouplingGaussLocalization(INTERP_KERNEL::NormalizedCellType typ); MEDCOUPLING_EXPORT INTERP_KERNEL::NormalizedCellType getType() const { return _type; } - MEDCOUPLING_EXPORT void setType(INTERP_KERNEL::NormalizedCellType typ) throw(INTERP_KERNEL::Exception); + MEDCOUPLING_EXPORT void setType(INTERP_KERNEL::NormalizedCellType typ); MEDCOUPLING_EXPORT int getNumberOfGaussPt() const { return (int)_weight.size(); } MEDCOUPLING_EXPORT int getDimension() const; MEDCOUPLING_EXPORT int getNumberOfPtsInRefCell() const; MEDCOUPLING_EXPORT std::string getStringRepr() const; MEDCOUPLING_EXPORT std::size_t getMemorySize() const; - MEDCOUPLING_EXPORT void checkCoherency() const throw(INTERP_KERNEL::Exception); + MEDCOUPLING_EXPORT void checkConsistencyLight() const; MEDCOUPLING_EXPORT bool isEqual(const MEDCouplingGaussLocalization& other, double eps) const; - MEDCOUPLING_EXPORT void pushTinySerializationIntInfo(std::vector& tinyInfo) const; + MEDCOUPLING_EXPORT void pushTinySerializationIntInfo(std::vector& tinyInfo) const; MEDCOUPLING_EXPORT void pushTinySerializationDblInfo(std::vector& tinyInfo) const; MEDCOUPLING_EXPORT const double *fillWithValues(const double *vals); // + MEDCOUPLING_EXPORT MCAuto localizePtsInRefCooForEachCell(const DataArrayDouble *ptsInRefCoo, const MEDCouplingUMesh *mesh) const; + MEDCOUPLING_EXPORT MCAuto buildRefCell() const; + // MEDCOUPLING_EXPORT const std::vector& getRefCoords() const { return _ref_coord; } - MEDCOUPLING_EXPORT double getRefCoord(int ptIdInCell, int comp) const throw(INTERP_KERNEL::Exception); + MEDCOUPLING_EXPORT double getRefCoord(int ptIdInCell, int comp) const; MEDCOUPLING_EXPORT const std::vector& getGaussCoords() const { return _gauss_coord; } - MEDCOUPLING_EXPORT double getGaussCoord(int gaussPtIdInCell, int comp) const throw(INTERP_KERNEL::Exception); + MEDCOUPLING_EXPORT double getGaussCoord(int gaussPtIdInCell, int comp) const; MEDCOUPLING_EXPORT const std::vector& getWeights() const { return _weight; } - MEDCOUPLING_EXPORT double getWeight(int gaussPtIdInCell, double newVal) const throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT void setRefCoord(int ptIdInCell, int comp, double newVal) throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT void setGaussCoord(int gaussPtIdInCell, int comp, double newVal) throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT void setWeight(int gaussPtIdInCell, double newVal) throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT void setRefCoords(const std::vector& refCoo) throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT void setGaussCoords(const std::vector& gsCoo) throw(INTERP_KERNEL::Exception); - MEDCOUPLING_EXPORT void setWeights(const std::vector& w) throw(INTERP_KERNEL::Exception); + MEDCOUPLING_EXPORT double getWeight(int gaussPtIdInCell, double newVal) const; + MEDCOUPLING_EXPORT void setRefCoord(int ptIdInCell, int comp, double newVal); + MEDCOUPLING_EXPORT void setGaussCoord(int gaussPtIdInCell, int comp, double newVal); + MEDCOUPLING_EXPORT void setWeight(int gaussPtIdInCell, double newVal); + MEDCOUPLING_EXPORT void setRefCoords(const std::vector& refCoo); + MEDCOUPLING_EXPORT void setGaussCoords(const std::vector& gsCoo); + MEDCOUPLING_EXPORT void setWeights(const std::vector& w); // - MEDCOUPLING_EXPORT static MEDCouplingGaussLocalization BuildNewInstanceFromTinyInfo(int dim, const std::vector& tinyData); + MEDCOUPLING_EXPORT static MEDCouplingGaussLocalization BuildNewInstanceFromTinyInfo(mcIdType dim, const std::vector& tinyData); MEDCOUPLING_EXPORT static bool AreAlmostEqual(const std::vector& v1, const std::vector& v2, double eps); private: - int checkCoherencyOfRequest(int gaussPtIdInCell, int comp) const throw(INTERP_KERNEL::Exception); + int checkCoherencyOfRequest(mcIdType gaussPtIdInCell, int comp) const; private: INTERP_KERNEL::NormalizedCellType _type; std::vector _ref_coord;