Salome HOME
Merge branch 'master' of ssh://git.salome-platform.org/tools/medcoupling
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingFieldTemplate.hxx
index e6cc3ae70a6d9d2932801019241820f4e7deeed5..a00ba79ff2406b484c6dec0df29db11e921e5c03 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016  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
 
 #include "MEDCouplingField.hxx"
 
-namespace ParaMEDMEM
+namespace MEDCoupling
 {
+  class MEDCouplingFieldInt;
   class MEDCouplingFieldDouble;
-
+  /*!
+   * \brief A field template can be seen as a field without the array of values.
+   *
+   * A field template aggregates a MEDCouplingMesh and a spatial discretization object (instance of
+   * MEDCouplingFieldDiscretization).
+   * 
+   * MEDCouplingFieldTemplate is the most appropriate type for the preparation of matrix using
+   * MEDCouplingRemapper::prepareEx, since it contains the minimal information requireds to prepare
+   * the interpolation matrix.
+   */
   class MEDCouplingFieldTemplate : public MEDCouplingField
   {
   public:
     MEDCOUPLING_EXPORT static MEDCouplingFieldTemplate *New(const MEDCouplingFieldDouble& f);
+    MEDCOUPLING_EXPORT static MEDCouplingFieldTemplate *New(const MEDCouplingFieldInt& f);
     MEDCOUPLING_EXPORT static MEDCouplingFieldTemplate *New(TypeOfField type);
     MEDCOUPLING_EXPORT std::string simpleRepr() const;
     MEDCOUPLING_EXPORT std::string advancedRepr() const;
-    MEDCOUPLING_EXPORT void checkCoherency() const;
+    MEDCOUPLING_EXPORT void checkConsistencyLight() const;
     //
     MEDCOUPLING_EXPORT void getTinySerializationIntInformation(std::vector<int>& tinyInfo) const;
     MEDCOUPLING_EXPORT void getTinySerializationDbleInformation(std::vector<double>& tinyInfo) const;
@@ -46,6 +57,7 @@ namespace ParaMEDMEM
     MEDCOUPLING_EXPORT void reprQuickOverview(std::ostream& stream) const;
   private:
     MEDCouplingFieldTemplate(const MEDCouplingFieldDouble& f);
+    MEDCouplingFieldTemplate(const MEDCouplingFieldInt& f);
     MEDCouplingFieldTemplate(TypeOfField type);
   };
 }