+ class MEDCouplingDataForGodFather : public RefCountObject
+ {
+ friend class MEDCouplingCartesianAMRMesh;
+ public:
+ MEDCOUPLING_EXPORT MEDCouplingCartesianAMRMesh *getMyGodFather();
+ MEDCOUPLING_EXPORT const MEDCouplingCartesianAMRMesh *getMyGodFather() const;
+ MEDCOUPLING_EXPORT virtual void synchronizeFineToCoarse() = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeFineToCoarseBetween(int fromLev, int toLev) = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeCoarseToFine() = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeCoarseToFineBetween(int fromLev, int toLev) = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeAllGhostZones() = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeAllGhostZonesOfDirectChidrenOf(const MEDCouplingCartesianAMRMeshGen *mesh) = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeAllGhostZonesAtASpecifiedLevel(int level) = 0;
+ MEDCOUPLING_EXPORT virtual void synchronizeAllGhostZonesAtASpecifiedLevelUsingOnlyFather(int level) = 0;
+ MEDCOUPLING_EXPORT virtual void alloc() = 0;
+ MEDCOUPLING_EXPORT virtual void dealloc() = 0;
+ protected:
+ MEDCouplingDataForGodFather(MEDCouplingCartesianAMRMesh *gf);
+ void checkGodFatherFrozen() const;
+ protected:
+ virtual bool changeGodFather(MEDCouplingCartesianAMRMesh *gf);
+ MEDCouplingDataForGodFather(const MEDCouplingDataForGodFather& other, bool deepCpyGF);
+ protected:
+ MCAuto<MEDCouplingCartesianAMRMesh> _gf;
+ TimeLabelConstOverseer _tlc;
+ };
+