Version: 6.5.0
Public Member Functions | Static Public Member Functions | List of all members
ParaMEDMEM::MEDFileField1TS Class Reference
Inheritance diagram for ParaMEDMEM::MEDFileField1TS:
Inheritance graph
[legend]
Collaboration diagram for ParaMEDMEM::MEDFileField1TS:
Collaboration graph
[legend]

Public Member Functions

std::string simpleRepr () const
void write (const char *fileName, int mode) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldAtLevel (TypeOfField type, int meshDimRelToMax, int renumPol=0) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldAtTopLevel (TypeOfField type, int renumPol=0) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int meshDimRelToMax, const MEDFileMesh *mesh, int renumPol=0) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, const MEDCouplingMesh *mesh, int renumPol=0) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldAtLevelOld (TypeOfField type, const char *mname, int meshDimRelToMax, int renumPol=0) const throw (INTERP_KERNEL::Exception)
DataArrayDoublegetFieldWithProfile (TypeOfField type, int meshDimRelToMax, const MEDFileMesh *mesh, DataArrayInt *&pfl) const throw (INTERP_KERNEL::Exception)
void setFieldNoProfileSBT (const MEDCouplingFieldDouble *field) throw (INTERP_KERNEL::Exception)
void setFieldProfile (const MEDCouplingFieldDouble *field, const MEDFileMesh *mesh, int meshDimRelToMax, const DataArrayInt *profile) throw (INTERP_KERNEL::Exception)
void setProfileNameOnLeaf (const char *mName, INTERP_KERNEL::NormalizedCellType typ, int locId, const char *newPflName, bool forceRenameOnGlob=false) throw (INTERP_KERNEL::Exception)
void setLocNameOnLeaf (const char *mName, INTERP_KERNEL::NormalizedCellType typ, int locId, const char *newLocName, bool forceRenameOnGlob=false) throw (INTERP_KERNEL::Exception)
- Public Member Functions inherited from ParaMEDMEM::MEDFileField1TSWithoutDAS
int copyTinyInfoFrom (const MEDCouplingFieldDouble *field) throw (INTERP_KERNEL::Exception)
int getDimension () const
int getIteration () const
int getOrder () const
double getTime (int &iteration, int &order) const
void setTime (double val, int iteration, int order)
std::string getName () const
void simpleRepr (int bkOffset, std::ostream &oss, int f1tsId) const
const std::string & getDtUnit () const
std::string getMeshName () const throw (INTERP_KERNEL::Exception)
int getMeshIteration () const throw (INTERP_KERNEL::Exception)
int getMeshOrder () const throw (INTERP_KERNEL::Exception)
int getNumberOfComponents () const
void simpleReprWithoutHeader (std::ostream &oss) const
bool isDealingTS (int iteration, int order) const
std::pair< int, int > getDtIt () const
void fillIteration (std::pair< int, int > &p) const
void fillTypesOfFieldAvailable (std::vector< TypeOfField > &types) const throw (INTERP_KERNEL::Exception)
const std::vector< std::string > & getInfo () const
std::vector< std::string > & getInfo ()
void finishLoading (med_idt fid) throw (INTERP_KERNEL::Exception)
virtual void writeLL (med_idt fid) const throw (INTERP_KERNEL::Exception)
std::vector< std::string > getPflsReallyUsed2 () const
std::vector< std::string > getLocsReallyUsed2 () const
std::vector< std::string > getPflsReallyUsedMulti2 () const
std::vector< std::string > getLocsReallyUsedMulti2 () const
void changePflsRefsNamesGen2 (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif) throw (INTERP_KERNEL::Exception)
void changeLocsRefsNamesGen2 (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif) throw (INTERP_KERNEL::Exception)
void setFieldNoProfileSBT (const MEDCouplingFieldDouble *field, MEDFieldFieldGlobsReal &glob) throw (INTERP_KERNEL::Exception)
void setFieldProfile (const MEDCouplingFieldDouble *field, const MEDFileMesh *mesh, int meshDimRelToMax, const DataArrayInt *profile, MEDFieldFieldGlobsReal &glob) throw (INTERP_KERNEL::Exception)
int getNonEmptyLevels (const char *mname, std::vector< int > &levs) const throw (INTERP_KERNEL::Exception)
std::vector< TypeOfFieldgetTypesOfFieldAvailable () const throw (INTERP_KERNEL::Exception)
std::vector< std::vector
< std::pair< int, int > > > 
getFieldSplitedByType (const char *mname, std::vector< INTERP_KERNEL::NormalizedCellType > &types, std::vector< std::vector< TypeOfField > > &typesF, std::vector< std::vector< std::string > > &pfls, std::vector< std::vector< std::string > > &locs) const throw (INTERP_KERNEL::Exception)
std::vector< std::vector
< DataArrayDouble * > > 
getFieldSplitedByType2 (const char *mname, std::vector< INTERP_KERNEL::NormalizedCellType > &types, std::vector< std::vector< TypeOfField > > &typesF, std::vector< std::vector< std::string > > &pfls, std::vector< std::vector< std::string > > &locs) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldAtLevel (TypeOfField type, int meshDimRelToMax, const char *mName, int renumPol, const MEDFieldFieldGlobsReal *glob) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int meshDimRelToMax, int renumPol, const MEDFieldFieldGlobsReal *glob, const MEDFileMesh *mesh) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldAtTopLevel (TypeOfField type, const char *mName, int renumPol, const MEDFieldFieldGlobsReal *glob) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int renumPol, const MEDFieldFieldGlobsReal *glob, const MEDCouplingMesh *mesh, const DataArrayInt *cellRenum, const DataArrayInt *nodeRenum) const throw (INTERP_KERNEL::Exception)
DataArrayDoublegetFieldWithProfile (TypeOfField type, int meshDimRelToMax, const MEDFileMesh *mesh, DataArrayInt *&pfl, const MEDFieldFieldGlobsReal *glob) const throw (INTERP_KERNEL::Exception)
DataArrayDoublegetUndergroundDataArray () const throw (INTERP_KERNEL::Exception)
DataArrayDoublegetUndergroundDataArrayExt (std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< int, int > > > &entries) const throw (INTERP_KERNEL::Exception)
 MEDFileField1TSWithoutDAS ()
DataArrayDoublegetOrCreateAndGetArray ()
const DataArrayDoublegetOrCreateAndGetArray () const
- Public Member Functions inherited from ParaMEDMEM::RefCountObject
bool decrRef () const
void incrRef () const
- Public Member Functions inherited from ParaMEDMEM::MEDFieldFieldGlobsReal
 MEDFieldFieldGlobsReal (const char *fname)
 MEDFieldFieldGlobsReal ()
void simpleRepr (std::ostream &oss) const
void shallowCpyGlobs (const MEDFieldFieldGlobsReal &other)
void appendGlobs (const MEDFieldFieldGlobsReal &other, double eps) throw (INTERP_KERNEL::Exception)
virtual std::vector< std::string > getPflsReallyUsed () const =0
virtual std::vector< std::string > getLocsReallyUsed () const =0
virtual std::vector< std::string > getPflsReallyUsedMulti () const =0
virtual std::vector< std::string > getLocsReallyUsedMulti () const =0
virtual void changePflsRefsNamesGen (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif)=0 throw (INTERP_KERNEL::Exception)
virtual void changeLocsRefsNamesGen (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif)=0 throw (INTERP_KERNEL::Exception)
virtual ~MEDFieldFieldGlobsReal ()
void loadProfileInFile (med_idt fid, int id, const char *pflName) throw (INTERP_KERNEL::Exception)
void loadProfileInFile (med_idt fid, int id)
void loadGlobals (med_idt fid) throw (INTERP_KERNEL::Exception)
void loadAllGlobals (med_idt fid) throw (INTERP_KERNEL::Exception)
void writeGlobals (med_idt fid, const MEDFileWritable &opt) const throw (INTERP_KERNEL::Exception)
std::vector< std::string > getPfls () const
std::vector< std::string > getLocs () const
bool existsPfl (const char *pflName) const
bool existsLoc (const char *locName) const
std::vector< std::vector< int > > whichAreEqualProfiles () const
std::vector< std::vector< int > > whichAreEqualLocs (double eps) const
void setFileName (const char *fileName)
void changePflsNamesInStruct (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif) throw (INTERP_KERNEL::Exception)
void changeLocsNamesInStruct (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif) throw (INTERP_KERNEL::Exception)
void changePflsNames (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif) throw (INTERP_KERNEL::Exception)
void changeLocsNames (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif) throw (INTERP_KERNEL::Exception)
void changePflName (const char *oldName, const char *newName) throw (INTERP_KERNEL::Exception)
void changeLocName (const char *oldName, const char *newName) throw (INTERP_KERNEL::Exception)
std::vector< std::pair
< std::vector< std::string >
, std::string > > 
zipPflsNames () throw (INTERP_KERNEL::Exception)
std::vector< std::pair
< std::vector< std::string >
, std::string > > 
zipLocsNames (double eps) throw (INTERP_KERNEL::Exception)
int getNbOfGaussPtPerCell (int locId) const throw (INTERP_KERNEL::Exception)
int getLocalizationId (const char *loc) const throw (INTERP_KERNEL::Exception)
const char * getFileName () const
std::string getFileName2 () const
const MEDFileFieldLoc & getLocalizationFromId (int locId) const throw (INTERP_KERNEL::Exception)
const MEDFileFieldLoc & getLocalization (const char *locName) const throw (INTERP_KERNEL::Exception)
MEDFileFieldLoc & getLocalizationFromId (int locId) throw (INTERP_KERNEL::Exception)
MEDFileFieldLoc & getLocalization (const char *locName) throw (INTERP_KERNEL::Exception)
const DataArrayIntgetProfile (const char *pflName) const throw (INTERP_KERNEL::Exception)
const DataArrayIntgetProfileFromId (int pflId) const throw (INTERP_KERNEL::Exception)
DataArrayIntgetProfile (const char *pflName) throw (INTERP_KERNEL::Exception)
DataArrayIntgetProfileFromId (int pflId) throw (INTERP_KERNEL::Exception)
void killProfileIds (const std::vector< int > &pflIds) throw (INTERP_KERNEL::Exception)
void killLocalizationIds (const std::vector< int > &locIds) throw (INTERP_KERNEL::Exception)
void appendProfile (DataArrayInt *pfl) throw (INTERP_KERNEL::Exception)
void appendLoc (const char *locName, INTERP_KERNEL::NormalizedCellType geoType, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &w) throw (INTERP_KERNEL::Exception)

Static Public Member Functions

static MEDFileField1TSNew (const char *fileName, const char *fieldName, int iteration, int order) throw (INTERP_KERNEL::Exception)
static MEDFileField1TSNew ()
- Static Public Member Functions inherited from ParaMEDMEM::MEDFileField1TSWithoutDAS
static MEDFileField1TSWithoutDASNew (const char *fieldName, int csit, int fieldtype, int iteration, int order, const std::vector< std::string > &infos)
static void CheckMeshDimRel (int meshDimRelToMax) throw (INTERP_KERNEL::Exception)
static std::vector< int > CheckSBTMesh (const MEDCouplingMesh *mesh) throw (INTERP_KERNEL::Exception)

Additional Inherited Members

- Protected Member Functions inherited from ParaMEDMEM::MEDFileField1TSWithoutDAS
int addNewEntryIfNecessary (const MEDCouplingMesh *mesh) throw (INTERP_KERNEL::Exception)
int getMeshIdFromMeshName (const char *mName) const throw (INTERP_KERNEL::Exception)
MEDFileFieldPerMeshPerTypePerDisc * getLeafGivenMeshAndTypeAndLocId (const char *mName, INTERP_KERNEL::NormalizedCellType typ, int locId) throw (INTERP_KERNEL::Exception)
const
MEDFileFieldPerMeshPerTypePerDisc * 
getLeafGivenMeshAndTypeAndLocId (const char *mName, INTERP_KERNEL::NormalizedCellType typ, int locId) const throw (INTERP_KERNEL::Exception)
 MEDFileField1TSWithoutDAS (const char *fieldName, int csit, int fieldtype, int iteration, int order, const std::vector< std::string > &infos)
- Protected Attributes inherited from ParaMEDMEM::MEDFileField1TSWithoutDAS
std::string _dt_unit
MEDCouplingAutoRefCountObjectPtr
< DataArrayDouble
_arr
std::vector
< MEDCouplingAutoRefCountObjectPtr
< MEDFileFieldPerMesh > > 
_field_per_mesh
int _csit
int _field_type
int _iteration
int _order
double _dt
- Protected Attributes inherited from ParaMEDMEM::MEDFieldFieldGlobsReal
MEDCouplingAutoRefCountObjectPtr
< MEDFieldFieldGlobs > 
_globals

Detailed Description

User class.

Member Function Documentation

MEDFileField1TS * MEDFileField1TS::New ( const char *  fileName,
const char *  fieldName,
int  iteration,
int  order 
) throw (INTERP_KERNEL::Exception)
static
MEDFileField1TS * MEDFileField1TS::New ( )
static
std::string MEDFileField1TS::simpleRepr ( ) const
void MEDFileField1TS::write ( const char *  fileName,
int  mode 
) const throw (INTERP_KERNEL::Exception)
MEDCouplingFieldDouble * MEDFileField1TS::getFieldAtLevel ( TypeOfField  type,
int  meshDimRelToMax,
int  renumPol = 0 
) const throw (INTERP_KERNEL::Exception)

This method requests underlying file to perform the job, for mesh reading. If the current instance is not coming from a file and has been constructed from scratch an exception will be thrown. In this case you should use MEDFileField1TS::getFieldOnMeshAtLevel method instead. WARNING ! Parameter 'meshDimRelToMax' is relative from read mesh in file that can be different from the field in MED file ! It leads that the returned field of this method is always coherent.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::getFieldAtLevel().

MEDCouplingFieldDouble * MEDFileField1TS::getFieldAtTopLevel ( TypeOfField  type,
int  renumPol = 0 
) const throw (INTERP_KERNEL::Exception)

This method is close to MEDFileField1TS::getFieldAtLevel except that here the 'meshDimRelToMax' param is ignored and the maximal dimension is taken automatically. If the field lies on different level and that an another level than the maximal is requested MEDFileField1TS::getFieldAtLevel should be called instead.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::getFieldAtTopLevel().

MEDCouplingFieldDouble * MEDFileField1TS::getFieldOnMeshAtLevel ( TypeOfField  type,
int  meshDimRelToMax,
const MEDFileMesh mesh,
int  renumPol = 0 
) const throw (INTERP_KERNEL::Exception)

This method can be called whatever the mode of instance feeding of this (MED file or from scratch). But the parameter ''meshDimRelToMax' is applyied on 'mesh' (like MEDFileField1TS::getFieldAtLevel does). WARNING the dim of 'this' can be different from those in 'mesh' ! It leads that the returned field of this method is always coherent.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::getFieldOnMeshAtLevel().

MEDCouplingFieldDouble * MEDFileField1TS::getFieldOnMeshAtLevel ( TypeOfField  type,
const MEDCouplingMesh mesh,
int  renumPol = 0 
) const throw (INTERP_KERNEL::Exception)

WARNING, there is a main difference with the two close methods (MEDFileField1TS::getFieldAtLevel and MEDFileField1TS::getFieldOnMeshAtLevel method) ! Here the mesh-dimension of 'mesh' is used by this to automatically request the right geoTypes regarding 'type'. If no such element fufilled the deduced dimension and 'type' an exception will be thrown. It leads that the returned field of this method is always coherent.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::getFieldOnMeshAtLevel().

MEDCouplingFieldDouble * MEDFileField1TS::getFieldAtLevelOld ( TypeOfField  type,
const char *  mname,
int  meshDimRelToMax,
int  renumPol = 0 
) const throw (INTERP_KERNEL::Exception)

This method is identical to MEDFileField1TS::getFieldAtLevel method except that meshName 'mname' should be specified. This method is called "Old" because in MED3 norm a field has only one meshName attached. This method is only here for reader of MED2 files. See MEDFileField1TS::getFieldAtLevel for more information.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::getFieldAtLevel().

DataArrayDouble * MEDFileField1TS::getFieldWithProfile ( TypeOfField  type,
int  meshDimRelToMax,
const MEDFileMesh mesh,
DataArrayInt *&  pfl 
) const throw (INTERP_KERNEL::Exception)
void MEDFileField1TS::setFieldNoProfileSBT ( const MEDCouplingFieldDouble field) throw (INTERP_KERNEL::Exception)

SBT means Sort By Type. This method is the most basic method to assign field in this. Basic in sense that no renumbering is done. Underlying mesh in 'field' is globaly ignored except for type contiguous check.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::setFieldNoProfileSBT().

void MEDFileField1TS::setFieldProfile ( const MEDCouplingFieldDouble field,
const MEDFileMesh mesh,
int  meshDimRelToMax,
const DataArrayInt profile 
) throw (INTERP_KERNEL::Exception)

This method is a generalization of MEDFileField1TS::setFieldNoProfileSBT method. Here a profile array is given in input. The support of field 'field' is not used by this method, so it can be null or incoherent with field. This method uses input parameters 'mesh', 'meshDimRelToMax' and 'profile' to determine what is really the support of field 'field'. If field is incoherent regarding this deduced support, an exception will be thrown. This method is trying to reduce the size of MEDfile file so profile is created only if it is absolutely necessary. If it is necessary the name of 'profile' will be used to create it in 'this'. In this case, if this profile name is empty an exception will be thrown.

References ParaMEDMEM::MEDFileField1TSWithoutDAS::setFieldProfile().

void MEDFileField1TS::setProfileNameOnLeaf ( const char *  mName,
INTERP_KERNEL::NormalizedCellType  typ,
int  locId,
const char *  newPflName,
bool  forceRenameOnGlob = false 
) throw (INTERP_KERNEL::Exception)

underground method see MEDFileField1TSWithoutDAS::setProfileNameOnLeaf

This method as MEDFileField1TSW::setLocNameOnLeaf, is dedicated for advanced user that a want a very fine control on their data structure without overhead. This method can be called only regarding information returned by MEDFileField1TSWithoutDAS::getFieldSplitedByType or MEDFileField1TSWithoutDAS::getFieldSplitedByType2. This method changes the attribute (here it's profile name) of the leaf datastructure (MEDFileFieldPerMeshPerTypePerDisc instance). It is the responsability of the caller to invoke MEDFieldFieldGlobs::appendProfile or MEDFieldFieldGlobs::getProfile to keep a valid instance. If this do not have any leaf that correspond to the request of the input parameter (mName, typ, locId) an INTERP_KERNEL::Exception will be thrown. If newPflName profile name does not already exist the profile with old name will be renamed with name newPflName. If newPflName already exists and that forceRenameOnGlob is false (the default) an INTERP_KERNEL::Exception will be thrown to avoid big confusion. In this case the called should rename before the profile name with name newPflName.

Parameters
[in]mNamespecifies the underlying mesh name. This value can be pointer 0 for users that do not deal with fields on multi mesh.
[in]typis for the geometric cell type (or INTERP_KERNEL::NORM_ERROR for node field) entry to find the right MEDFileFieldPerMeshPerTypePerDisc instance to set.
[in]locIdis the localization id to find the right MEDFileFieldPerMeshPerTypePerDisc instance to set. It corresponds to the position of pfls[std::distance(types.begin(),std::find(types.begin(),typ)] vector in MEDFileField1TSWithoutDAS::getFieldSplitedByType. For non gausspoints field users, the value is 0.
[in]newLocNameis the new localization name.
[in]forceRenameOnGlobspecifies the behaviour in case of profile newPflName already exists. If true, the renaming is done without check. It can lead to major bug. If false, an exception will be thrown to force user to change previously the name of the profile with name newPflName

References ParaMEDMEM::DataArray::setName().

void MEDFileField1TS::setLocNameOnLeaf ( const char *  mName,
INTERP_KERNEL::NormalizedCellType  typ,
int  locId,
const char *  newLocName,
bool  forceRenameOnGlob = false 
) throw (INTERP_KERNEL::Exception)

underground method see MEDFileField1TSWithoutDAS::setLocNameOnLeaf

This method as MEDFileField1TSW::setProfileNameOnLeaf, is dedicated for advanced user that a want a very fine control on their data structure without overhead. This method can be called only regarding information returned by MEDFileField1TSWithoutDAS::getFieldSplitedByType or MEDFileField1TSWithoutDAS::getFieldSplitedByType2. This method changes the attribute (here it's localization name) of the leaf datastructure (MEDFileFieldPerMeshPerTypePerDisc instance). It is the responsability of the caller to invoke MEDFieldFieldGlobs::appendProfile or MEDFieldFieldGlobs::getProfile to keep a valid instance. If this do not have any leaf that correspond to the request of the input parameter (mName, typ, locId) an INTERP_KERNEL::Exception will be thrown. This method is an extension of MEDFileField1TSWithoutDAS::setProfileNameOnLeafExt method because it performs a modification of global info. If newLocName profile name does not already exist the localization with old name will be renamed with name newLocName. If newLocName already exists an INTERP_KERNEL::Exception will be thrown to avoid big confusion. In this case the called should rename before the profile name with name newLocName.

Parameters
[in]mNamespecifies the underlying mesh name. This value can be pointer 0 for users that do not deal with fields on multi mesh.
[in]typis for the geometric cell type (or INTERP_KERNEL::NORM_ERROR for node field) entry to find the right MEDFileFieldPerMeshPerTypePerDisc instance to set.
[in]locIdis the localization id to find the right MEDFileFieldPerMeshPerTypePerDisc instance to set. It corresponds to the position of pfls[std::distance(types.begin(),std::find(types.begin(),typ)] vector in MEDFileField1TSWithoutDAS::getFieldSplitedByType. For non gausspoints field users, the value is 0.
[in]newLocNameis the new localization name.
[in]forceRenameOnGlobspecifies the behaviour in case of profile newLocName already exists. If true, the renaming is done without check. It can lead to major bug. If false, an exception will be thrown to force user to change previously the name of the profile with name newLocName
Copyright © 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS