Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MEDCoupling::MEDFileField1TSWithoutSDA Class Reference
Inheritance diagram for MEDCoupling::MEDFileField1TSWithoutSDA:
Collaboration diagram for MEDCoupling::MEDFileField1TSWithoutSDA:

Public Member Functions

MEDFileIntField1TSWithoutSDAconvertToInt () const
 
MEDFileField1TSWithoutSDAdeepCopy () const
 
std::vector< std::vector
< DataArrayDouble * > > 
getFieldSplitedByType2 (const std::string &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
 
const char * getTypeStr () const
 
DataArrayDoublegetUndergroundDataArrayDoubleExt (std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< int, int > > > &entries) const
 
DataArraygetUndergroundDataArrayExt (std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< int, int > > > &entries) const
 
 MEDFileField1TSWithoutSDA ()
 
 MEDFileField1TSWithoutSDA (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order, const std::vector< std::string > &infos)
 
MEDFileField1TSWithoutSDAshallowCpy () const
 
- Public Member Functions inherited from MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >
void aggregate (const typename std::vector< typename MLFieldTraits< double >::F1TSWSDAType const * > &f1tss, const std::vector< std::vector< std::pair< int, int > > > &dts)
 
DataArraycreateNewEmptyDataArrayInstance () const
 
DataArraygetOrCreateAndGetArray ()
 
const DataArraygetOrCreateAndGetArray () const
 
Traits< double >::ArrayType * getOrCreateAndGetArrayTemplate ()
 
Traits< double >::ArrayType const * getOrCreateAndGetArrayTemplate () const
 
DataArraygetUndergroundDataArray () const
 
Traits< double >::ArrayType * getUndergroundDataArrayTemplate () const
 
void setArray (DataArray *arr)
 
- Public Member Functions inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
void accept (MEDFileFieldVisitor &visitor) const
 
bool allocIfNecessaryTheArrayToReceiveDataFromFile ()
 
void allocNotFromFile (int newNbOfTuples)
 
void changeLocsRefsNamesGen2 (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif)
 
bool changeMeshNames (const std::vector< std::pair< std::string, std::string > > &modifTab)
 
void changePflsRefsNamesGen2 (const std::vector< std::pair< std::vector< std::string >, std::string > > &mapOfModif)
 
void convertMedBallIntoClassic ()
 
int copyTinyInfoFrom (const MEDCouplingFieldDouble *field, const DataArray *arr)
 
void deepCpyLeavesFrom (const MEDFileAnyTypeField1TSWithoutSDA &other)
 
MEDCouplingFieldDoublefieldOnMesh (const MEDFileFieldGlobsReal *glob, const MEDFileMesh *mesh, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
void fillIteration (std::pair< int, int > &p) const
 
void fillTypesOfFieldAvailable (std::vector< TypeOfField > &types) const
 
int getDimension () const
 
std::vector< const
BigMemoryObject * > 
getDirectChildrenWithNull () const
 
std::pair< int, int > getDtIt () const
 
MEDCouplingFieldDoublegetFieldAtLevel (TypeOfField type, int meshDimRelToMax, const std::string &mName, int renumPol, const MEDFileFieldGlobsReal *glob, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
MEDCouplingFieldDoublegetFieldAtTopLevel (TypeOfField type, const std::string &mName, int renumPol, const MEDFileFieldGlobsReal *glob, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int meshDimRelToMax, int renumPol, const MEDFileFieldGlobsReal *glob, const MEDFileMesh *mesh, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
MEDCouplingFieldDoublegetFieldOnMeshAtLevel (TypeOfField type, int renumPol, const MEDFileFieldGlobsReal *glob, const MEDCouplingMesh *mesh, const DataArrayInt *cellRenum, const DataArrayInt *nodeRenum, MCAuto< DataArray > &arrOut, const MEDFileFieldNameScope &nasc) const
 
std::vector< std::vector
< std::pair< int, int > > > 
getFieldSplitedByType (const std::string &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
 
DataArraygetFieldWithProfile (TypeOfField type, int meshDimRelToMax, const MEDFileMesh *mesh, DataArrayInt *&pfl, const MEDFileFieldGlobsReal *glob, const MEDFileFieldNameScope &nasc) const
 
std::size_t getHeapMemorySizeWithoutChildren () const
 
const std::vector< std::string > & getInfo () const
 
std::vector< std::string > & getInfo ()
 
int getIteration () const
 
MEDFileFieldPerMeshPerTypePerDisc * getLeafGivenMeshAndTypeAndLocId (const std::string &mName, INTERP_KERNEL::NormalizedCellType typ, int locId)
 
const
MEDFileFieldPerMeshPerTypePerDisc * 
getLeafGivenMeshAndTypeAndLocId (const std::string &mName, INTERP_KERNEL::NormalizedCellType typ, int locId) const
 
std::vector< std::string > getLocsReallyUsed2 () const
 
std::vector< std::string > getLocsReallyUsedMulti2 () const
 
int getMeshIteration () const
 
int getMeshOrder () const
 
void getMeshSENames (std::vector< std::pair< std::string, std::string > > &ps) const
 
int getNonEmptyLevels (const std::string &mname, std::vector< int > &levs) const
 
int getNumberOfComponents () const
 
int getOrder () const
 
std::vector< std::string > getPflsReallyUsed2 () const
 
std::vector< std::string > getPflsReallyUsedMulti2 () const
 
double getTime (int &iteration, int &order) const
 
std::vector< TypeOfFieldgetTypesOfFieldAvailable () const
 
bool isDealingTS (int iteration, int order) const
 
int keepOnlyGaussDiscretization (std::size_t idOfDisc, std::vector< std::pair< int, int > > &its)
 
void keepOnlyOnSE (const std::string &seName)
 
int keepOnlySpatialDiscretization (TypeOfField tof, std::vector< std::pair< int, int > > &its)
 
void keepOnlyStructureElements ()
 
void killStructureElements ()
 
void loadBigArraysRecursively (med_idt fid, const MEDFileFieldNameScope &nasc)
 
void loadBigArraysRecursivelyIfNecessary (med_idt fid, const MEDFileFieldNameScope &nasc)
 
void loadOnlyStructureOfDataRecursively (med_idt fid, const MEDFileFieldNameScope &nasc, const MEDFileMeshes *ms, const MEDFileEntities *entities)
 
void loadStructureAndBigArraysRecursively (med_idt fid, const MEDFileFieldNameScope &nasc, const MEDFileMeshes *ms, const MEDFileEntities *entities)
 
void makeReduction (INTERP_KERNEL::NormalizedCellType ct, TypeOfField tof, const DataArrayInt *pfl)
 
 MEDFileAnyTypeField1TSWithoutSDA ()
 
 MEDFileAnyTypeField1TSWithoutSDA (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order)
 
bool onlyStructureElements () const
 
bool presenceOfMultiDiscPerGeoType () const
 
bool presenceOfStructureElements () const
 
bool renumberEntitiesLyingOnMesh (const std::string &meshName, const std::vector< int > &oldCode, const std::vector< int > &newCode, const DataArrayInt *renumO2N, MEDFileFieldGlobsReal &glob)
 
void setFieldNoProfileSBT (const MEDCouplingFieldDouble *field, const DataArray *arr, MEDFileFieldGlobsReal &glob, const MEDFileFieldNameScope &nasc)
 
void setFieldProfile (const MEDCouplingFieldDouble *field, const DataArray *arrOfVals, const MEDFileMesh *mesh, int meshDimRelToMax, const DataArrayInt *profile, MEDFileFieldGlobsReal &glob, const MEDFileFieldNameScope &nasc)
 
void setInfo (const std::vector< std::string > &infos)
 
void setTime (int iteration, int order, double val)
 
virtual void simpleRepr (int bkOffset, std::ostream &oss, int f1tsId) const
 
virtual std::vector< MCAuto
< MEDFileAnyTypeField1TSWithoutSDA > > 
splitComponents () const
 
std::vector< MCAuto
< MEDFileAnyTypeField1TSWithoutSDA > > 
splitDiscretizations () const
 
std::vector< MCAuto
< MEDFileAnyTypeField1TSWithoutSDA > > 
splitMultiDiscrPerGeoTypes () const
 
void unloadArrays ()
 
void writeLL (med_idt fid, const MEDFileWritable &opts, const MEDFileFieldNameScope &nasc) const
 
- Public Member Functions inherited from MEDCoupling::MEDFileFieldNameScope
void copyNameScope (const MEDFileFieldNameScope &other)
 
std::string getDtUnit () const
 
std::string getMeshName () const
 
std::string getName () const
 
 MEDFileFieldNameScope ()
 
 MEDFileFieldNameScope (const std::string &fieldName, const std::string &meshName)
 
void setDtUnit (const std::string &dtUnit)
 
void setMeshName (const std::string &meshName)
 
void setName (const std::string &fieldName)
 

Static Public Member Functions

static void CheckMeshDimRel (int meshDimRelToMax)
 
static std::vector< int > CheckSBTMesh (const MEDCouplingMesh *mesh)
 
static MEDFileField1TSWithoutSDANew (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order, const std::vector< std::string > &infos)
 

Static Public Attributes

static const char TYPE_STR [] ="FLOAT64"
 

Additional Inherited Members

- Public Attributes inherited from MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA
int _csit
 
int _nb_of_tuples_to_be_allocated
 
- Protected Member Functions inherited from MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >
 MEDFileField1TSTemplateWithoutSDA (const std::string &fieldName, const std::string &meshName, int csit, int iteration, int order)
 
 MEDFileField1TSTemplateWithoutSDA ()
 
- Protected Attributes inherited from MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >
MCAuto< typename Traits
< double >::ArrayType > 
_arr
 

Detailed Description

SDA is for Shared Data Arrays such as profiles.

Constructor & Destructor Documentation

MEDFileField1TSWithoutSDA::MEDFileField1TSWithoutSDA ( )

Referenced by New(), and shallowCpy().

MEDFileField1TSWithoutSDA::MEDFileField1TSWithoutSDA ( const std::string &  fieldName,
const std::string &  meshName,
int  csit,
int  iteration,
int  order,
const std::vector< std::string > &  infos 
)

Member Function Documentation

const char * MEDFileField1TSWithoutSDA::getTypeStr ( ) const
virtual
DataArray * MEDFileField1TSWithoutSDA::getUndergroundDataArrayExt ( std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< int, int > > > &  entries) const
virtual

Returns a pointer to the underground DataArrayDouble instance and a sequence describing parameters of a support of each part of this field. The caller should not decrRef() the returned DataArrayDouble. This method allows for a direct access to the field values. This method is intended for the field lying on one mesh only.

Parameters
[in,out]entries- the sequence describing parameters of a support of each part of this field. Each item of this sequence consists of two parts. The first part describes a type of mesh entity and an id of discretization of a current field part. The second part describes a range of values [begin,end) within the returned array relating to the current field part.
Returns
DataArrayDouble * - the pointer to the field values array.
Exceptions
Ifthe number of underlying meshes is not equal to 1.
Ifno field values are available.
See Also
getUndergroundDataArray()

Implements MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA.

References getUndergroundDataArrayDoubleExt().

DataArrayDouble * MEDFileField1TSWithoutSDA::getUndergroundDataArrayDoubleExt ( std::vector< std::pair< std::pair< INTERP_KERNEL::NormalizedCellType, int >, std::pair< int, int > > > &  entries) const

Returns a pointer to the underground DataArrayDouble instance and a sequence describing parameters of a support of each part of this field. The caller should not decrRef() the returned DataArrayDouble. This method allows for a direct access to the field values. This method is intended for the field lying on one mesh only.

Parameters
[in,out]entries- the sequence describing parameters of a support of each part of this field. Each item of this sequence consists of two parts. The first part describes a type of mesh entity and an id of discretization of a current field part. The second part describes a range of values [begin,end) within the returned array relating to the current field part.
Returns
DataArrayDouble * - the pointer to the field values array.
Exceptions
Ifthe number of underlying meshes is not equal to 1.
Ifno field values are available.
See Also
getUndergroundDataArray()

References MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::_field_per_mesh, and MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >::getUndergroundDataArrayTemplate().

Referenced by getUndergroundDataArrayExt(), and MEDCoupling::MEDFileField1TS::getUndergroundDataArrayExt().

std::vector< std::vector< DataArrayDouble * > > MEDFileField1TSWithoutSDA::getFieldSplitedByType2 ( const std::string &  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

Returns all attributes and values of parts of this field lying on a given mesh. Each part differs from other ones by a type of supporting mesh entity. The i-th item of every of returned sequences refers to the i-th part of this field. Thus all sequences returned by this method are of the same length equal to number of different types of supporting entities.
A field part can include sub-parts with several different spatial discretizations, ON_CELLS and ON_GAUSS_PT for example. Hence, some of the returned sequences contains nested sequences, and an item of a nested sequence corresponds to a type of spatial discretization.
This method allows for iteration over MEDFile DataStructure with a reduced overhead. The overhead is due to selecting values into new instances of DataArrayDouble.

Parameters
[in]mname- a name of a mesh of interest. It can be NULL, which is valid for the case with only one underlying mesh. (Actually, the number of meshes is not checked if mname == NULL).
[in,out]types- a sequence of types of underlying mesh entities. A type per a field part is returned.
[in,out]typesF- a sequence of sequences of types of spatial discretizations. A field part can include sub-parts with several different spatial discretizations, ON_CELLS and ON_GAUSS_PT for example. This sequence is of the same length as types.
[in,out]pfls- a sequence returning a profile name per each type of spatial discretization. A profile name can be empty. Length of this and of nested sequences is the same as that of typesF.
[in,out]locs- a sequence returning a localization name per each type of spatial discretization. A localization name can be empty. Length of this and of nested sequences is the same as that of typesF.
Returns
std::vector< std::vector<DataArrayDouble *> > - a sequence holding arrays of values per each type of spatial discretization within one mesh entity type. The caller is to delete each DataArrayDouble using decrRef() as it is no more needed. Length of this and of nested sequences is the same as that of typesF.
Exceptions
Ifno field is lying on mname.

References MEDCoupling::MEDFileField1TSTemplateWithoutSDA< double >::_arr, and MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::_field_per_mesh.

Referenced by MEDCoupling::MEDFileField1TS::getFieldSplitedByType2(), and MEDCoupling::MEDFileFieldMultiTSWithoutSDA::getFieldSplitedByType2().

void MEDFileField1TSWithoutSDA::CheckMeshDimRel ( int  meshDimRelToMax)
static

Throws if a given value is not a valid (non-extended) relative dimension.

Parameters
[in]meshDimRelToMax- the relative dimension value.
Exceptions
IfmeshDimRelToMax > 0.
std::vector< int > MEDFileField1TSWithoutSDA::CheckSBTMesh ( const MEDCouplingMesh mesh)
static

Checks if elements of a given mesh are in the order suitable for writing to the MED file. If this is not so, an exception is thrown. In a case of success, returns a vector describing types of elements and their number.

Parameters
[in]mesh- the mesh to check.
Returns
std::vector<int> - a vector holding for each element type (1) item of INTERP_KERNEL::NormalizedCellType, (2) number of elements, (3) -1. These values are in full-interlace mode.
Exceptions
Ifelements in mesh are not in the order suitable for writing to the MED file.

References MEDCoupling::DataArrayTemplate< T >::alloc(), MEDCoupling::DataArrayInt::checkAndPreparePermutation(), MEDCoupling::MEDCouplingMesh::checkTypeConsistencyAndContig(), MEDCoupling::RefCountObjectOnly::decrRef(), MEDCoupling::MEDCouplingMesh::getAllGeoTypes(), MEDCoupling::DataArrayTemplate< T >::getConstPointer(), MEDCoupling::MEDCouplingMesh::getNumberOfCellsWithType(), MEDCoupling::DataArrayTemplate< T >::getPointer(), MEDCoupling::DataArrayInt::New(), and typmai2.

Referenced by MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::setFieldNoProfileSBT().

MEDFileField1TSWithoutSDA * MEDFileField1TSWithoutSDA::New ( const std::string &  fieldName,
const std::string &  meshName,
int  csit,
int  iteration,
int  order,
const std::vector< std::string > &  infos 
)
static

Member Data Documentation

const char MEDFileField1TSWithoutSDA::TYPE_STR ="FLOAT64"
static