#include <MEDCouplingField.hxx>

Public Member Functions | |
| virtual void | checkCoherency () const =0 throw (INTERP_KERNEL::Exception) |
| virtual bool | areCompatibleForMerge (const MEDCouplingField *other) const |
| virtual bool | areStrictlyCompatible (const MEDCouplingField *other) const |
| virtual bool | isEqual (const MEDCouplingField *other, double meshPrec, double valsPrec) const |
| virtual bool | isEqualWithoutConsideringStr (const MEDCouplingField *other, double meshPrec, double valsPrec) const |
| void | setMesh (const ParaMEDMEM::MEDCouplingMesh *mesh) |
| const ParaMEDMEM::MEDCouplingMesh * | getMesh () const |
| void | setName (const char *name) |
| const char * | getDescription () const |
| void | setDescription (const char *desc) |
| const char * | getName () const |
| TypeOfField | getTypeOfField () const |
| NatureOfField | getNature () const |
| virtual void | setNature (NatureOfField nat) throw (INTERP_KERNEL::Exception) |
| DataArrayDouble * | getLocalizationOfDiscr () const throw (INTERP_KERNEL::Exception) |
| MEDCouplingFieldDouble * | buildMeasureField (bool isAbs) const throw (INTERP_KERNEL::Exception) |
| MEDCouplingMesh * | buildSubMeshData (const int *start, const int *end, DataArrayInt *&di) const |
| MEDCouplingFieldDiscretization * | getDiscretization () const |
| int | getNumberOfTuplesExpected () const throw (INTERP_KERNEL::Exception) |
| int | getNumberOfMeshPlacesExpected () const throw (INTERP_KERNEL::Exception) |
| void | setGaussLocalizationOnType (INTERP_KERNEL::NormalizedCellType type, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &wg) throw (INTERP_KERNEL::Exception) |
| void | setGaussLocalizationOnCells (const int *begin, const int *end, const std::vector< double > &refCoo, const std::vector< double > &gsCoo, const std::vector< double > &wg) throw (INTERP_KERNEL::Exception) |
| void | clearGaussLocalizations () |
| MEDCouplingGaussLocalization & | getGaussLocalization (int locId) throw (INTERP_KERNEL::Exception) |
| int | getGaussLocalizationIdOfOneType (INTERP_KERNEL::NormalizedCellType type) const throw (INTERP_KERNEL::Exception) |
| int | getNbOfGaussLocalization () const throw (INTERP_KERNEL::Exception) |
| int | getGaussLocalizationIdOfOneCell (int cellId) const throw (INTERP_KERNEL::Exception) |
| void | getCellIdsHavingGaussLocalization (int locId, std::vector< int > &cellIds) const throw (INTERP_KERNEL::Exception) |
| const MEDCouplingGaussLocalization & | getGaussLocalization (int locId) const throw (INTERP_KERNEL::Exception) |
Protected Member Functions | |
| void | updateTime () const |
| MEDCouplingField (TypeOfField type) | |
| MEDCouplingField (const MEDCouplingField &other) | |
| MEDCouplingField (MEDCouplingFieldDiscretization *type, NatureOfField nature=NoNature) | |
| virtual | ~MEDCouplingField () |
Protected Attributes | |
| std::string | _name |
| std::string | _desc |
| NatureOfField | _nature |
| const MEDCouplingMesh * | _mesh |
| MEDCouplingFieldDiscretization * | _type |
| MEDCouplingField::MEDCouplingField | ( | TypeOfField | type | ) | [protected] |
| MEDCouplingField::MEDCouplingField | ( | const MEDCouplingField & | other | ) | [protected] |
References ParaMEDMEM.MEDCouplingField._mesh, and ParaMEDMEM.RefCountObject.incrRef().
| MEDCouplingField::MEDCouplingField | ( | MEDCouplingFieldDiscretization * | type, |
| NatureOfField | nature = NoNature |
||
| ) | [protected] |
| MEDCouplingField::~MEDCouplingField | ( | ) | [protected, virtual] |
References ParaMEDMEM.MEDCouplingField._mesh, and ParaMEDMEM.MEDCouplingField._type.
| virtual void ParaMEDMEM.MEDCouplingField.checkCoherency | ( | ) | const throw (INTERP_KERNEL::Exception) [pure virtual] |
Implemented in ParaMEDMEM.MEDCouplingFieldDouble, and ParaMEDMEM.MEDCouplingFieldTemplate.
| bool MEDCouplingField::areCompatibleForMerge | ( | const MEDCouplingField * | other | ) | const [virtual] |
This method states if 'this' and 'other' are compatibles each other before performing any treatment. This method is good for methods like : mergeFields. This method is not very demanding compared to areStrictlyCompatible that is better for operation on fields.
Reimplemented in ParaMEDMEM.MEDCouplingFieldDouble.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._nature, ParaMEDMEM.MEDCouplingField._type, ParaMEDMEM.MEDCouplingMesh.areCompatibleForMerge(), and ParaMEDMEM.MEDCouplingFieldDiscretization.isEqual().
| bool MEDCouplingField::areStrictlyCompatible | ( | const MEDCouplingField * | other | ) | const [virtual] |
This method is more strict than MEDCouplingField.areCompatibleForMerge method. This method is used for operation on fields to operate a first check before attempting operation.
Reimplemented in ParaMEDMEM.MEDCouplingFieldDouble.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._nature, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.isEqual().
| bool MEDCouplingField::isEqual | ( | const MEDCouplingField * | other, |
| double | meshPrec, | ||
| double | valsPrec | ||
| ) | const [virtual] |
Reimplemented in ParaMEDMEM.MEDCouplingFieldDouble.
References ParaMEDMEM.MEDCouplingField._desc, ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._name, ParaMEDMEM.MEDCouplingField._nature, ParaMEDMEM.MEDCouplingField._type, ParaMEDMEM.MEDCouplingMesh.isEqual(), and ParaMEDMEM.MEDCouplingFieldDiscretization.isEqual().
| bool MEDCouplingField::isEqualWithoutConsideringStr | ( | const MEDCouplingField * | other, |
| double | meshPrec, | ||
| double | valsPrec | ||
| ) | const [virtual] |
Reimplemented in ParaMEDMEM.MEDCouplingFieldDouble.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._nature, ParaMEDMEM.MEDCouplingField._type, ParaMEDMEM.MEDCouplingMesh.isEqualWithoutConsideringStr(), and ParaMEDMEM.MEDCouplingFieldDiscretization.isEqualWithoutConsideringStr().
| void MEDCouplingField::setMesh | ( | const ParaMEDMEM::MEDCouplingMesh * | mesh | ) |
| const ParaMEDMEM::MEDCouplingMesh* ParaMEDMEM.MEDCouplingField.getMesh | ( | ) | const |
| void ParaMEDMEM.MEDCouplingField.setName | ( | const char * | name | ) |
References medClient_test.name.
| const char* ParaMEDMEM.MEDCouplingField.getDescription | ( | ) | const |
| void ParaMEDMEM.MEDCouplingField.setDescription | ( | const char * | desc | ) |
References medClient_test.desc.
| const char* ParaMEDMEM.MEDCouplingField.getName | ( | ) | const |
| TypeOfField MEDCouplingField::getTypeOfField | ( | ) | const |
| NatureOfField ParaMEDMEM.MEDCouplingField.getNature | ( | ) | const |
| void MEDCouplingField::setNature | ( | NatureOfField | nat | ) | throw (INTERP_KERNEL::Exception) [virtual] |
Reimplemented in ParaMEDMEM.MEDCouplingFieldDouble.
| DataArrayDouble * MEDCouplingField::getLocalizationOfDiscr | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns is case of success an instance of DataArrayDouble the user is in reponsability to deal with. If 'this->_mesh' is not set an exception will be thrown. For a field on node the array of coords will be returned. For a field on cell a ParaMEDMEM.DataArrayDouble instance containing the barycenter of cells will be returned. And for a field on gauss point the explicit position of gauss points.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.getLocalizationOfDiscValues().
| MEDCouplingFieldDouble * MEDCouplingField::buildMeasureField | ( | bool | isAbs | ) | const throw (INTERP_KERNEL::Exception) |
This method retrieves the measure field of 'this'. If no '_mesh' is defined an exception will be thrown. Warning the retrieved field life cycle is the responsability of caller.
| MEDCouplingMesh * MEDCouplingField::buildSubMeshData | ( | const int * | start, |
| const int * | end, | ||
| DataArrayInt *& | di | ||
| ) | const |
This method returns a submesh of 'mesh' instance constituting cell ids contained in array defined as an interval [start;end).
| di | is an array returned that specifies entity ids (nodes, cells ids...) in mesh 'mesh' of entity in returned submesh. |
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.buildSubMeshData().
| MEDCouplingFieldDiscretization* ParaMEDMEM.MEDCouplingField.getDiscretization | ( | ) | const |
| int MEDCouplingField::getNumberOfTuplesExpected | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns number of tuples expected regarding its discretization and its _mesh attribute. This method expected a not null _mesh instance. If null, an exception will be thrown.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.getNumberOfTuples().
| int MEDCouplingField::getNumberOfMeshPlacesExpected | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns number of mesh placed expected regarding its discretization and its _mesh attribute. This method expected a not null _mesh instance. If null, an exception will be thrown.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.getNumberOfMeshPlaces().
| void MEDCouplingField::setGaussLocalizationOnType | ( | INTERP_KERNEL::NormalizedCellType | type, |
| const std::vector< double > & | refCoo, | ||
| const std::vector< double > & | gsCoo, | ||
| const std::vector< double > & | wg | ||
| ) | throw (INTERP_KERNEL::Exception) |
This method sets gauss localization by geometric type.
| type | geometric type on which the gauss localization will be set. |
| refCoo | is the reference coordinates of the specified element. Its size has to be equal to nbOfNodesPerCell*dimOfType |
| gsCoo | are the coordinates of Gauss points in reference element specified by 'refCoo'. Its size must be equal to wg.size()*dimOfType |
| wg | are the weights on Gauss points. The size of this array is used to determine the number of Gauss point in the element. |
| when | size of 'RefCoo' is not valid regarding 'type' parameter, it throws too when the mesh is not set before or if it is not a field on Gauss points. |
References testGaussLocalization.gsCoo, testGaussLocalization.refCoo, and medClient_test.type.
| void MEDCouplingField::setGaussLocalizationOnCells | ( | const int * | begin, |
| const int * | end, | ||
| const std::vector< double > & | refCoo, | ||
| const std::vector< double > & | gsCoo, | ||
| const std::vector< double > & | wg | ||
| ) | throw (INTERP_KERNEL::Exception) |
This method sets on ids defined by [begin;end) their gauss localization. This method checks the coherency of cells ids in [begin;end) and 'refCoo' size. If an incoherence appears an exception will be thrown and no seting will be performed. An exception is thrown too if [begin,end) has a size lesser than 1.
| refCoo | is the reference coordinates of the specified element. Its size has to be equal to nbOfNodesPerCell*dimOfType |
| gsCoo | are the coordinates of Gauss points in reference element specified by 'refCoo'. Its size must be equal to wg.size()*dimOfType |
| wg | are the weights on Gauss points. The size of this array is used to determine the number of Gauss point in the element. |
| when | size of 'RefCoo' is not valid regarding cells in [begin,end) parameters, it throws too when the mesh is not set before or if it is not a field on Gauss points. |
References med_test1.begin, med_test1.end, testGaussLocalization.gsCoo, and testGaussLocalization.refCoo.
| void MEDCouplingField::clearGaussLocalizations | ( | ) |
This method resets all Gauss loalizations if any.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.clearGaussLocalizations().
| MEDCouplingGaussLocalization & MEDCouplingField::getGaussLocalization | ( | int | locId | ) | throw (INTERP_KERNEL::Exception) |
This method returns reference to the Gauss localization object corresponding to 'locId' id. This method throws an exception if there is no mesh, invalid FieldDescription (different from Gauss) and if 'locId' is invalid because out of range given by MEDCouplingField.getNbOfGaussLocalization method. Warning this method is not const, so the returned object could be modified without any problem.
| int MEDCouplingField::getGaussLocalizationIdOfOneType | ( | INTERP_KERNEL::NormalizedCellType | type | ) | const throw (INTERP_KERNEL::Exception) |
This method returns reference to the Gauss localization object corresponding to 'locId' id. This method throws an exception if there is no mesh, invalid FieldDescription (different from Gauss) and if several localization ids have been found for a type.
References medClient_test.type.
| int MEDCouplingField::getNbOfGaussLocalization | ( | ) | const throw (INTERP_KERNEL::Exception) |
This method returns number of Gauss localization available. Implicitely all ids in [0,getNbOfGaussLocalization()) is a valid Gauss localisation id. This method throws an exception if there is no mesh, invalid FieldDescription (different from Gauss)
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.MEDCouplingFieldDiscretization.getNbOfGaussLocalization().
| int MEDCouplingField::getGaussLocalizationIdOfOneCell | ( | int | cellId | ) | const throw (INTERP_KERNEL::Exception) |
This method returns an id of Gauss localization in [0,getNbOfGaussLocalization()) that corresponds to the localization of the cell specified by its cellId. This methods throws an exception if there is no mesh, invalid FieldDescription (different from Gauss) or if at the cell with id 'cellId' in this->_mesh no Gauss localization has been set.
| void MEDCouplingField::getCellIdsHavingGaussLocalization | ( | int | locId, |
| std::vector< int > & | cellIds | ||
| ) | const throw (INTERP_KERNEL::Exception) |
This method returns all cellIds that share the same Gauss localization given by 'locId' parameter (in range [0,getNbOfGaussLocalization()) ). If no cells fit the Gauss localization given by 'locId' cellIds will be returned empty.
| locId | input that specifies the id of Gauss localization. |
| cellIds | output parameter, that will contain the result if this method succeds. This parameter is systematically cleared when called. |
| if | there is no mesh, invalid FieldDescription (different from Gauss) or if locId not in [0,getNbOfGaussLocalization()) |
| const MEDCouplingGaussLocalization & MEDCouplingField::getGaussLocalization | ( | int | locId | ) | const throw (INTERP_KERNEL::Exception) |
This method returns reference to the Gauss localization object corresponding to 'locId' id. This method throws an exception if there is no mesh, invalid FieldDescription (different from Gauss) and if 'locId' is invalid because out of range given by MEDCouplingField.getNbOfGaussLocalization method. Warning this method is const.
| void MEDCouplingField::updateTime | ( | ) | const [protected, virtual] |
Implements ParaMEDMEM.TimeLabel.
Reimplemented in ParaMEDMEM.MEDCouplingFieldDouble.
References ParaMEDMEM.MEDCouplingField._mesh, ParaMEDMEM.MEDCouplingField._type, and ParaMEDMEM.TimeLabel.updateTimeWith().
std::string ParaMEDMEM.MEDCouplingField._name [protected] |
std::string ParaMEDMEM.MEDCouplingField._desc [protected] |
NatureOfField ParaMEDMEM.MEDCouplingField._nature [protected] |
const MEDCouplingMesh* ParaMEDMEM.MEDCouplingField._mesh [protected] |