Salome HOME
[EDF26877] : management of computation of measure field on field on Gauss Point in...
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingRefCountObject.hxx
index f9edf9ac490251e3bf102d929a9e903ce5230d88..6dd1ee5c25ff56462dd11477afa1c4c9918cd7fc 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  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
@@ -18,8 +18,7 @@
 //
 // Author : Anthony Geay (CEA/DEN)
 
-#ifndef __PARAMEDMEM_MEDCOUPLINGREFCOUNTOBJECT_HXX__
-#define __PARAMEDMEM_MEDCOUPLINGREFCOUNTOBJECT_HXX__
+#pragma once
 
 #include "MEDCoupling.hxx"
 
@@ -46,7 +45,8 @@ namespace MEDCoupling
     ON_NODES = 1,
     ON_GAUSS_PT = 2,
     ON_GAUSS_NE = 3,
-    ON_NODES_KR = 4
+    ON_NODES_KR = 4,
+    ON_NODES_FE = 5
   } TypeOfField;
 
   //! The various temporal discretization of a field
@@ -78,8 +78,10 @@ namespace MEDCoupling
     std::vector<const BigMemoryObject *> getAllTheProgeny() const;
     bool isObjectInTheProgeny(const BigMemoryObject *obj) const;
     static std::size_t GetHeapMemorySizeOfObjs(const std::vector<const BigMemoryObject *>& objs);
+    virtual std::string getClassName() const { return "BigMemoryObject"; }
     virtual std::size_t getHeapMemorySizeWithoutChildren() const = 0;
     virtual std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const = 0;
+    std::string debugHeapMemorySize() const;
     virtual ~BigMemoryObject();
   private:
     static std::size_t GetHeapMemoryOfSet(std::set<const BigMemoryObject *>& s1, std::set<const BigMemoryObject *>& s2);
@@ -130,4 +132,3 @@ namespace MEDCoupling
   };
 }
 
-#endif