#include <MEDFileField.hxx>

Public Member Functions | |
| void | copyTinyInfoFrom (const MEDCouplingMesh *mesh) throw (INTERP_KERNEL::Exception) |
| void | assignFieldProfile (const std::vector< int > &code, const std::vector< DataArrayInt * > &globIdsPerType, const std::vector< DataArrayInt * > &idsPerType, const MEDCouplingFieldDouble *field, MEDFieldFieldGlobs &glob) throw (INTERP_KERNEL::Exception) |
| void | assignFieldProfileGeneral (const std::vector< int > &code, const std::vector< DataArrayInt * > &globIdsPerType, const std::vector< DataArrayInt * > &idsPerType, const MEDCouplingFieldDouble *field, MEDFieldFieldGlobs &glob) throw (INTERP_KERNEL::Exception) |
| void | assignFieldNoProfileNoRenum (const std::vector< int > &code, const MEDCouplingFieldDouble *field, MEDFieldFieldGlobs &glob) throw (INTERP_KERNEL::Exception) |
| void | assignNodeFieldNoProfile (const MEDCouplingFieldDouble *field, MEDFieldFieldGlobs &glob) throw (INTERP_KERNEL::Exception) |
| void | assignNodeFieldProfile (const DataArrayInt *pfl, const MEDCouplingFieldDouble *field, MEDFieldFieldGlobs &glob) throw (INTERP_KERNEL::Exception) |
| void | finishLoading (med_idt fid) throw (INTERP_KERNEL::Exception) |
| void | writeLL (med_idt fid) const throw (INTERP_KERNEL::Exception) |
| void | getDimension (int &dim) const |
| double | getTime () const |
| int | getIteration () const |
| int | getOrder () const |
| int | getMeshIteration () const |
| int | getMeshOrder () const |
| const std::string & | getDtUnit () const |
| std::string | getName () const |
| std::string | getMeshName () const |
| int | getNumberOfComponents () const |
| const std::vector< std::string > & | getInfo () const |
| std::vector< std::string > | getPflsReallyUsed () const |
| std::vector< std::string > | getLocsReallyUsed () const |
| MEDCouplingFieldDouble * | getFieldOnMeshAtLevel (TypeOfField type, const MEDFieldFieldGlobs *glob, const MEDCouplingMesh *mesh, bool &isPfl) const throw (INTERP_KERNEL::Exception) |
| DataArrayDouble * | getFieldOnMeshAtLevelWithPfl (TypeOfField type, const MEDCouplingMesh *mesh, DataArrayInt *&pfl, const MEDFieldFieldGlobs *glob) const throw (INTERP_KERNEL::Exception) |
Static Public Member Functions | |
| static MEDFileFieldPerMesh * | New (MEDFileField1TSWithoutDAS *fath, const MEDCouplingMesh *mesh) |
| static MEDFileFieldPerMesh * | New (MEDFileField1TSWithoutDAS *fath, int meshCsit, int meshIteration, int meshOrder) |
Private Member Functions | |
| int | addNewEntryIfNecessary (INTERP_KERNEL::NormalizedCellType type) |
| MEDCouplingFieldDouble * | finishField (TypeOfField type, const MEDFieldFieldGlobs *glob, const std::vector< const DataArrayDouble * > &dads, const std::vector< int > &locs, const MEDCouplingMesh *mesh, bool &isPfl) const throw (INTERP_KERNEL::Exception) |
| MEDCouplingFieldDouble * | finishField2 (TypeOfField type, const MEDFieldFieldGlobs *glob, const std::vector< const DataArrayDouble * > &dads, const std::vector< int > &locs, const MEDCouplingMesh *mesh, const DataArrayInt *da, bool &isPfl) const throw (INTERP_KERNEL::Exception) |
| MEDCouplingFieldDouble * | finishField3 (const MEDFieldFieldGlobs *glob, const std::vector< const DataArrayDouble * > &dads, const std::vector< int > &locs, const MEDCouplingMesh *mesh, const DataArrayInt *da, bool &isPfl) const throw (INTERP_KERNEL::Exception) |
| DataArrayDouble * | finishField4 (const std::vector< const DataArrayDouble * > &dads, const DataArrayInt *pflIn, int nbOfElems, DataArrayInt *&pflOut) const throw (INTERP_KERNEL::Exception) |
| MEDFileFieldPerMesh (MEDFileField1TSWithoutDAS *fath, int meshCsit, int meshIteration, int meshOrder) | |
| MEDFileFieldPerMesh (MEDFileField1TSWithoutDAS *fath, const MEDCouplingMesh *mesh) | |
Static Private Member Functions | |
| static void | SortArraysPerType (const MEDFieldFieldGlobs *glob, const std::vector< INTERP_KERNEL::NormalizedCellType > &geoTypes, const std::vector< const DataArrayDouble * > &dads, const std::vector< const DataArrayInt * > &pfls, const std::vector< int > &locs, std::vector< int > &code, std::vector< DataArrayInt * > ¬NullPfls) |
| static int | ComputeNbOfElems (const MEDFieldFieldGlobs *glob, const std::vector< const DataArrayDouble * > &dads, const std::vector< int > &locs) throw (INTERP_KERNEL::Exception) |
Private Attributes | |
| std::string | _mesh_name |
| int | _mesh_iteration |
| int | _mesh_order |
| int | _mesh_csit |
| MEDFileField1TSWithoutDAS * | _father |
| std::vector < MEDCouplingAutoRefCountObjectPtr < MEDFileFieldPerMeshPerType > > | _field_pm_pt |
| MEDFileFieldPerMesh::MEDFileFieldPerMesh | ( | MEDFileField1TSWithoutDAS * | fath, |
| int | meshCsit, | ||
| int | meshIteration, | ||
| int | meshOrder | ||
| ) | [private] |
| MEDFileFieldPerMesh::MEDFileFieldPerMesh | ( | MEDFileField1TSWithoutDAS * | fath, |
| const MEDCouplingMesh * | mesh | ||
| ) | [private] |
| MEDFileFieldPerMesh * MEDFileFieldPerMesh::New | ( | MEDFileField1TSWithoutDAS * | fath, |
| const MEDCouplingMesh * | mesh | ||
| ) | [static] |
| MEDFileFieldPerMesh * MEDFileFieldPerMesh::New | ( | MEDFileField1TSWithoutDAS * | fath, |
| int | meshCsit, | ||
| int | meshIteration, | ||
| int | meshOrder | ||
| ) | [static] |
| void MEDFileFieldPerMesh::copyTinyInfoFrom | ( | const MEDCouplingMesh * | mesh | ) | throw (INTERP_KERNEL::Exception) |
References MED_test2.mesh.
| void MEDFileFieldPerMesh::assignFieldProfile | ( | const std::vector< int > & | code, |
| const std::vector< DataArrayInt * > & | globIdsPerType, | ||
| const std::vector< DataArrayInt * > & | idsPerType, | ||
| const MEDCouplingFieldDouble * | field, | ||
| MEDFieldFieldGlobs & | glob | ||
| ) | throw (INTERP_KERNEL::Exception) |
References MED_test2.field, and batchmode_medcorba_test.nbOfTypes.
| void MEDFileFieldPerMesh::assignFieldProfileGeneral | ( | const std::vector< int > & | code, |
| const std::vector< DataArrayInt * > & | globIdsPerType, | ||
| const std::vector< DataArrayInt * > & | idsPerType, | ||
| const MEDCouplingFieldDouble * | field, | ||
| MEDFieldFieldGlobs & | glob | ||
| ) | throw (INTERP_KERNEL::Exception) |
This method is the most general one. No optimization is done here.
References MED_test2.field, batchmode_medcorba_test.nbOfTypes, and medClient_test.type.
| void MEDFileFieldPerMesh::assignFieldNoProfileNoRenum | ( | const std::vector< int > & | code, |
| const MEDCouplingFieldDouble * | field, | ||
| MEDFieldFieldGlobs & | glob | ||
| ) | throw (INTERP_KERNEL::Exception) |
References MED_test2.field, batchmode_medcorba_test.nbOfTypes, and medClient_test.type.
| void MEDFileFieldPerMesh::assignNodeFieldNoProfile | ( | const MEDCouplingFieldDouble * | field, |
| MEDFieldFieldGlobs & | glob | ||
| ) | throw (INTERP_KERNEL::Exception) |
References MED_test2.field, and INTERP_KERNEL.NORM_ERROR.
| void MEDFileFieldPerMesh::assignNodeFieldProfile | ( | const DataArrayInt * | pfl, |
| const MEDCouplingFieldDouble * | field, | ||
| MEDFieldFieldGlobs & | glob | ||
| ) | throw (INTERP_KERNEL::Exception) |
References MED_test2.field, and INTERP_KERNEL.NORM_ERROR.
| void MEDFileFieldPerMesh::finishLoading | ( | med_idt | fid | ) | throw (INTERP_KERNEL::Exception) |
References MEDLoaderBase.buildEmptyString(), MEDLoaderBase.buildStringFromFortran(), MED_EN.MED_CELL, MED_EN.MED_NODE, MED_EN.MED_NONE, Med_Gen_test.meshName, ParaMEDMEM.MEDFileFieldPerMeshPerType.New(), INTERP_KERNEL.NORM_ERROR, ParaMEDMEM.ON_CELLS, ParaMEDMEM.ON_GAUSS_NE, ParaMEDMEM.ON_NODES, typmai, and typmai2.
| void MEDFileFieldPerMesh::writeLL | ( | med_idt | fid | ) | const throw (INTERP_KERNEL::Exception) |
References batchmode_medcorba_test.nbOfTypes.
| void MEDFileFieldPerMesh::getDimension | ( | int & | dim | ) | const |
References ParaMEDMEM.MEDFileFieldPerMesh._field_pm_pt, and Med_Gen_test.it.
| double MEDFileFieldPerMesh::getTime | ( | ) | const |
| int MEDFileFieldPerMesh::getIteration | ( | ) | const |
| int MEDFileFieldPerMesh::getOrder | ( | ) | const |
| int ParaMEDMEM.MEDFileFieldPerMesh.getMeshIteration | ( | ) | const |
References ParaMEDMEM.MEDFileFieldPerMesh._mesh_iteration.
| int ParaMEDMEM.MEDFileFieldPerMesh.getMeshOrder | ( | ) | const |
References ParaMEDMEM.MEDFileFieldPerMesh._mesh_order.
| const std::string & MEDFileFieldPerMesh::getDtUnit | ( | ) | const |
| std::string MEDFileFieldPerMesh::getName | ( | ) | const |
| std::string ParaMEDMEM.MEDFileFieldPerMesh.getMeshName | ( | ) | const |
References ParaMEDMEM.MEDFileFieldPerMesh._mesh_name.
| int MEDFileFieldPerMesh::getNumberOfComponents | ( | ) | const |
| const std::vector< std::string > & MEDFileFieldPerMesh::getInfo | ( | ) | const |
| std::vector< std::string > MEDFileFieldPerMesh::getPflsReallyUsed | ( | ) | const |
References ParaMEDMEM.MEDFileFieldPerMesh._field_pm_pt, Med_Gen_test.it, and testMEDMEM.ret.
| std::vector< std::string > MEDFileFieldPerMesh::getLocsReallyUsed | ( | ) | const |
References ParaMEDMEM.MEDFileFieldPerMesh._field_pm_pt, Med_Gen_test.it, and testMEDMEM.ret.
| MEDCouplingFieldDouble * MEDFileFieldPerMesh::getFieldOnMeshAtLevel | ( | TypeOfField | type, |
| const MEDFieldFieldGlobs * | glob, | ||
| const MEDCouplingMesh * | mesh, | ||
| bool & | isPfl | ||
| ) | const throw (INTERP_KERNEL::Exception) |
References Med_Gen_test.it, MED_test2.mesh, ParaMEDMEM.ON_NODES, and medClient_test.type.
| DataArrayDouble * MEDFileFieldPerMesh::getFieldOnMeshAtLevelWithPfl | ( | TypeOfField | type, |
| const MEDCouplingMesh * | mesh, | ||
| DataArrayInt *& | pfl, | ||
| const MEDFieldFieldGlobs * | glob | ||
| ) | const throw (INTERP_KERNEL::Exception) |
References Med_Gen_test.it, MED_test2.mesh, ParaMEDMEM.ON_NODES, and medClient_test.type.
| int MEDFileFieldPerMesh::addNewEntryIfNecessary | ( | INTERP_KERNEL::NormalizedCellType | type | ) | [private] |
| MEDCouplingFieldDouble * MEDFileFieldPerMesh::finishField | ( | TypeOfField | type, |
| const MEDFieldFieldGlobs * | glob, | ||
| const std::vector< const DataArrayDouble * > & | dads, | ||
| const std::vector< int > & | locs, | ||
| const MEDCouplingMesh * | mesh, | ||
| bool & | isPfl | ||
| ) | const throw (INTERP_KERNEL::Exception) [private] |
References ParaMEDMEM.DataArrayDouble.Aggregate(), ParaMEDMEM.MEDFileFieldLoc.getGaussCoords(), ParaMEDMEM.MEDFileFieldLoc.getGaussWeights(), ParaMEDMEM.MEDFileFieldLoc.getRefCoords(), MED_test2.mesh, medClient_test.nbOfComp, ParaMEDMEM.DataArrayInt.New(), ParaMEDMEM.MEDCouplingFieldDouble.New(), ParaMEDMEM.ON_GAUSS_PT, ParaMEDMEM.ONE_TIME, testMEDMEM.ret, and medClient_test.type.
| MEDCouplingFieldDouble * MEDFileFieldPerMesh::finishField2 | ( | TypeOfField | type, |
| const MEDFieldFieldGlobs * | glob, | ||
| const std::vector< const DataArrayDouble * > & | dads, | ||
| const std::vector< int > & | locs, | ||
| const MEDCouplingMesh * | mesh, | ||
| const DataArrayInt * | da, | ||
| bool & | isPfl | ||
| ) | const throw (INTERP_KERNEL::Exception) [private] |
This method is an extension of MEDFileFieldPerMesh.finishField method. It deals with profiles. This method should be called when type is different from ON_NODES. No check of this is performed. 'da' array contains an array in old2New style to be applyied to mesh to obtain the right support. The order of cells in the returned field is those imposed by the profile.
References ParaMEDMEM.MEDCouplingFieldDouble.getNumberOfTuples(), MED_test2.mesh, testMEDMEM.ret, and medClient_test.type.
| MEDCouplingFieldDouble * MEDFileFieldPerMesh::finishField3 | ( | const MEDFieldFieldGlobs * | glob, |
| const std::vector< const DataArrayDouble * > & | dads, | ||
| const std::vector< int > & | locs, | ||
| const MEDCouplingMesh * | mesh, | ||
| const DataArrayInt * | da, | ||
| bool & | isPfl | ||
| ) | const throw (INTERP_KERNEL::Exception) [private] |
This method is the complement of MEDFileFieldPerMesh.finishField2 method except that this method works for node profiles.
References ParaMEDMEM.DataArrayInt.getConstPointer(), ParaMEDMEM.DataArray.getNbOfElems(), ParaMEDMEM.MEDCouplingFieldDouble.getNumberOfTuples(), MED_test2.mesh, ParaMEDMEM.ON_NODES, and testMEDMEM.ret.
| DataArrayDouble * MEDFileFieldPerMesh::finishField4 | ( | const std::vector< const DataArrayDouble * > & | dads, |
| const DataArrayInt * | pflIn, | ||
| int | nbOfElems, | ||
| DataArrayInt *& | pflOut | ||
| ) | const throw (INTERP_KERNEL::Exception) [private] |
This method is the most light method of field retrieving.
References ParaMEDMEM.DataArrayDouble.Aggregate(), ParaMEDMEM.RefCountObject.incrRef(), medClient_test.nbOfComp, and ParaMEDMEM.DataArrayInt.New().
| void MEDFileFieldPerMesh::SortArraysPerType | ( | const MEDFieldFieldGlobs * | glob, |
| const std::vector< INTERP_KERNEL::NormalizedCellType > & | geoTypes, | ||
| const std::vector< const DataArrayDouble * > & | dads, | ||
| const std::vector< const DataArrayInt * > & | pfls, | ||
| const std::vector< int > & | locs, | ||
| std::vector< int > & | code, | ||
| std::vector< DataArrayInt * > & | notNullPfls | ||
| ) | [static, private] |
geoTypes,dads,pfls,locs are input parameters. They should have the same size. Before the call of this method 'geoTypes','dads','pfls','locs' must be reorganized so that types in geoTypes are contiguous and ordered following typmai2 array. It returns 2 output vectors :
References ParaMEDMEM.DataArrayInt.Aggregate(), and ParaMEDMEM.MEDFileFieldPerMesh.ComputeNbOfElems().
| int MEDFileFieldPerMesh::ComputeNbOfElems | ( | const MEDFieldFieldGlobs * | glob, |
| const std::vector< const DataArrayDouble * > & | dads, | ||
| const std::vector< int > & | locs | ||
| ) | throw (INTERP_KERNEL::Exception) [static, private] |
'dads' and 'locs' are input parameters that should have same size sz. sz should be >=1.
References testMEDMEM.ret.
std::string ParaMEDMEM.MEDFileFieldPerMesh._mesh_name [private] |
int ParaMEDMEM.MEDFileFieldPerMesh._mesh_csit [private] |
std::vector< MEDCouplingAutoRefCountObjectPtr< MEDFileFieldPerMeshPerType > > ParaMEDMEM.MEDFileFieldPerMesh._field_pm_pt [private] |