+ class MEDFileStructureElement;
+ class MEDFileMeshSupports;
+ class MEDFileUMesh;
+
+ class MEDFileSEHolder
+ {
+ public:
+ std::string getModelName() const;
+ std::string getName() const;
+ protected:
+ MEDFileSEHolder(MEDFileStructureElement *father):_father(father) { }
+ void setName(const std::string& name);
+ std::size_t getHeapMemorySizeLoc() const;
+ private:
+ MEDFileStructureElement *_father;
+ std::string _name;
+ };
+
+class MEDFileSEConstAtt : public RefCountObject, public MEDFileWritableStandAlone, public MEDFileSEHolder
+ {
+ public:
+ static MEDFileSEConstAtt *New(med_idt fid, MEDFileStructureElement *father, int idCstAtt, const MEDFileUMesh *mesh);
+ public:
+ std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
+ std::size_t getHeapMemorySizeWithoutChildren() const;
+ void writeLL(med_idt fid) const;
+ void setProfile(const std::string& name);
+ std::string getProfile() const;
+ private:
+ MEDFileSEConstAtt(med_idt fid, MEDFileStructureElement *father, int idCstAtt, const MEDFileUMesh *mesh);
+ private:
+ std::string _pfl;
+ TypeOfField _tof;
+ MCAuto<DataArray> _val;
+ };
+
+ class MEDFileSEVarAtt : public RefCountObject, public MEDFileWritableStandAlone, public MEDFileSEHolder
+ {
+ public:
+ static MEDFileSEVarAtt *New(med_idt fid, MEDFileStructureElement *father, int idVarAtt);
+ public:
+ std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
+ std::size_t getHeapMemorySizeWithoutChildren() const;
+ void writeLL(med_idt fid) const;
+ int getNbOfComponents() const { return _nb_compo; }
+ MCAuto<DataArray> getGenerator() const { return _gen; }
+ private:
+ MEDFileSEVarAtt(med_idt fid, MEDFileStructureElement *father, int idVarAtt);
+ private:
+ int _nb_compo;
+ MCAuto<DataArray> _gen;
+ };
+