Back to index

salome-med  6.5.0
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
MEDMEM Namespace Reference

A template class to generate an array of any particular type (int, long, float, double) for our purpose in the MED++ library. More...

Namespaces

namespace  DRIVERFACTORY

Classes

class  CONNECTIVITYClient
class  COORDINATEClient
class  FAMILYClient
class  FIELDClient
class  FIELDDOUBLEClient
class  FIELDINTClient
protocol  MEDCLIENT_EXPORT
class  GROUPClient
class  MEDARRAY
protocol  MEDMEM_EXPORT
 : Utility class for storing cell models. More...
class  SDForSorting
class  ASCII_FIELD_DRIVER
class  _field
struct  MinMax
struct  MinMax< double >
struct  MinMax< int >
struct  SET_VALUE_TYPE
struct  SET_VALUE_TYPE< double >
struct  SET_VALUE_TYPE< int >
class  FIELD
class  GAUSS_LOCALIZATION
struct  nameGIBItoMED
class  INIT
struct  __ERROR_INTERLACING_GAUSS_TRAITS_POLICY_INSTANCIATED_WITH_INCORRECT_TYPE
struct  MEDMEM_InterlacingTraits
struct  MEDMEM_InterlacingTraits< FullInterlace, Gauss >
struct  MEDMEM_InterlacingTraits< FullInterlace, NoGauss >
struct  MEDMEM_InterlacingTraits< NoInterlace, Gauss >
struct  MEDMEM_InterlacingTraits< NoInterlace, NoGauss >
struct  MEDMEM_InterlacingTraits< NoInterlaceByType, Gauss >
struct  MEDMEM_InterlacingTraits< NoInterlaceByType, NoGauss >
class  MED_FIELD_DRIVER
 Driver Med for FIELD. More...
class  MED_FIELD_RDONLY_DRIVER
 Driver Med for FIELD : Read only. More...
class  MED_FIELD_WRONLY_DRIVER
 Driver Med for FIELD : Write only. More...
class  MED_FIELD_RDWR_DRIVER
 Driver Med for FIELD : Read write. More...
struct  DT_IT_
class  MEDMEM_Array
class  OptionGeneric
class  Option
class  OptionManager
class  PointerOf
struct  Gauss
struct  NoGauss
struct  FullInterlace
struct  NoInterlace
struct  NoInterlaceByType
class  VTK_FIELD_DRIVER
protocol  MEDMEM_I_EXPORT
class  FIELDTEMPLATE_I
struct  FIELDI_TRAITS
struct  FIELDI_TRAITS< double, FullInterlace >
struct  FIELDI_TRAITS< double, NoInterlace >
struct  FIELDI_TRAITS< double, NoInterlaceByType >
struct  FIELDI_TRAITS< int, FullInterlace >
struct  FIELDI_TRAITS< int, NoInterlace >
struct  FIELDI_TRAITS< int, NoInterlaceByType >

Typedefs

typedef pair< int, int > _link
typedef std::vector< DT_IT_VEC_DT_IT_
typedef map< DT_IT_,
SALOME_MED::FIELD_ptr,
LT_DT_IT_ > 
MAP_IOR_DT_IT_

Enumerations

enum  EnSightFormat { ENSIGHT_6, ENSIGHT_GOLD }
 Functions to set writing format. More...
enum  driverTypes {
  MED_DRIVER = 0, GIBI_DRIVER = 1, PORFLOW_DRIVER = 2, ENSIGHT_DRIVER = 250,
  VTK_DRIVER = 254, ASCII_DRIVER = 3, NO_DRIVER = 255
}

Functions

template<typename TLocal , typename TCorbaSeq , typename Tint >
void convertCorbaArray (TLocal *&T, Tint &nT, const TCorbaSeq &S)
template<typename TLocal , typename TCorbaSeq , typename Tint >
void convertCorbaArray2 (TLocal &tab, Tint &nT, const TCorbaSeq s)
template<typename TCorba , typename TLocal , typename TCorbaSeq >
void convertCorbaArray (TLocal *&T, long &nT, const TCorbaSeq &S, void *f)
template<typename TLocal , typename TCorbaSeq >
void convertCorbaArray (std::vector< TLocal > &T, int &nT, const TCorbaSeq &S)
template<typename TCorba , typename TLocal , typename TCorbaSeq >
void convertCorbaArray (std::vector< TLocal > &T, int &nT, const TCorbaSeq &S, void *f)
template<typename TCorba , typename TLocal , typename TCorbaSeq , typename TInfo >
void convertCorbaArray (std::vector< TLocal > &T, const TCorbaSeq &S, void *f, TInfo M)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
FullInterlaceGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert (const MEDMEM_Array< T, NoInterlaceGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
NoInterlaceGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert (const MEDMEM_Array< T, FullInterlaceGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
FullInterlaceGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert (const MEDMEM_Array< T, NoInterlaceByTypeGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
NoInterlaceGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert2No (const MEDMEM_Array< T, NoInterlaceByTypeGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
NoInterlaceNoGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert (const MEDMEM_Array< T, FullInterlaceNoGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
FullInterlaceNoGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert (const MEDMEM_Array< T, NoInterlaceByTypeNoGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
NoInterlaceNoGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert2No (const MEDMEM_Array< T, NoInterlaceByTypeNoGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<class T , class CHECKING_POLICY >
MEDMEM_Array< T,
FullInterlaceNoGaussPolicy,
CHECKING_POLICY > * 
ArrayConvert (const MEDMEM_Array< T, NoInterlaceNoGaussPolicy, CHECKING_POLICY > &array, T *values=0)
template<int N, unsigned int CODE>
void fill (double *a, const double *b)
template<int N>
bool compare (const double *a, const double *b)
template<>
MEDMEM_EXPORT void fill<-1, 0x3 > (double *a, const double *b)
template<>
MEDMEM_EXPORT bool compare<-1 > (const double *a, const double *b)
MEDMEM_EXPORT ostream & operator<< (ostream &os, const CELLMODEL &my)
MEDMEM_EXPORT std::ostream & operator<< (std::ostream &os, CONNECTIVITY &my)
std::ostream & operator<< (std::ostream &os, const _maille &ma)
std::ostream & operator<< (std::ostream &os, const _groupe &gr)
std::ostream & operator<< (std::ostream &os, const _noeud &no)
std::ostream & operator<< (std::ostream &os, const _fieldBase *f)
std::ostream & operator<< (std::ostream &os, const _intermediateMED &mi)
void setEnSightFormatForWriting (EnSightFormat format, bool isBinary)
EnSightFormat getEnSightFormatForWriting ()
bool isBinaryEnSightFormatForWriting ()
void setIgnoreIncompatibility (bool toIgnore)
 To raise or not if MEDMEM-EnSight incompatibility encounters or suspected.
MEDMEM_EXPORT ostream & operator<< (ostream &os, const MEDEXCEPTION &ex)
 Operator << : put the message to the given stream.
MEDMEM_EXPORT std::ostream & operator<< (std::ostream &os, FAMILY &my)
MEDMEM_EXPORT std::ostream & operator<< (std::ostream &os, const FAMILY &my)
template<class T >
FIELD< T, FullInterlace > * FieldConvert (const FIELD< T, NoInterlace > &field)
template<class T >
FIELD< T, NoInterlace > * FieldConvert (const FIELD< T, FullInterlace > &field)
template<class T >
FIELD< T, FullInterlace > * FieldConvert (const FIELD< T, NoInterlaceByType > &field)
template<class INTERLACING_TAG >
ostream & operator<< (ostream &os, const GAUSS_LOCALIZATION< INTERLACING_TAG > &loc)
MEDMEM_EXPORT ostream & operator<< (ostream &os, const GENDRIVER &genDriver)
MEDMEM_EXPORT std::ostream & operator<< (std::ostream &os, const GMESH &me)
 Print operator.
MEDMEM_EXPORT std::ostream & operator<< (std::ostream &os, GROUP &my)
MEDMEM_EXPORT
MED_EN::medFileVersion 
getMedFileVersion (const string &fileName) throw (MEDEXCEPTION)
MEDMEM_EXPORT
med_2_3::med_access_mode 
getMedAccessMode (MED_EN::med_mode_acces mode)
MEDMEM_EXPORT ostream & operator<< (ostream &os, const MESH &my)
 print my contents
MEDMEM_EXPORT ostream & operator<< (ostream &os, const MEDSKYLINEARRAY &sky)
MEDMEM_EXPORT MESH * readMeshInFile (const std::string &fileName, const std::string &meshName)
template<class T >
FIELD< T > * readFieldInFile (const std::string &fileName, const std::string &fieldName)
MEDMEM_EXPORT void writeMeshToFile (const MESH *meshObj, const std::string &fileName)
template<class T >
void writeFieldToFile (const FIELD< T > *fieldObj, const std::string &fileName)
std::string getBaseName (const std::string &dataname)
std::string getDirName (const std::string &dataname)
std::string healName (const std::string &name)
 Make a name valid.
int swapBytes (const int theValue)
 Change order of bytes for other endianness.

Variables

const int PRECISION_IN_ASCII_FILE = 10
const double PRECISION_IN_COMPARE = 1e-10
const int SPACE_BETWEEN_NBS = 19
EnSightFormat theEnSightFormatForWriting = ENSIGHT_6
 Writing format.
bool theBinaryFormatForWriting = false
bool theIgnoreIncompatibility = false

Detailed Description

A template class to generate an array of any particular type (int, long, float, double) for our purpose in the MED++ library.

Driver Vtk for MESH (only for writing).

Driver Med for FIELD.

Driver TYPE for MESH.

A class to generate string from any type:

Driver PORFLOW for MESH.

The template class PointerOf embedding a standard pointer (_pointer) is in charge of managing the pointed memory.

Driver Med for MESH.

This class describe a group of elements on an entity.

Driver GIBI for MESH.

Virtual class GENDRIVER use by all driver.

Creates a localization filled with default values.

This template class contains informations related with a FIELD :

This class describe a family of elements on an entity.

Class used to throws exception.

Driver Ensight for FIELD.

This class contains coordinates of the nodes .

This class is an internal class and should not be used by the end-user.



Arrays can be stored in MED_FULL_INTERLACE mode (ie : x1,y1,z1,x2,y2,z2...) or in MED_NO_INTERLACE mode ( x1,x2,..xn, y1, y2 ..,yn,z1,...,zn).
The alternate representation mode is calculate ONLY when it is usefull. We assure coherency for minor data modifications (element, line or column) if you use set methods. But, if you get a pointer and modify the array, no automatical coherency is possible. You can use calculateOther to force a recalculation and insure the coherency.
No recalculation is done, when the entire array is modified.
Theses arrays are "Med like" arrays; lower bound equals 1. (first element is element 1, first coordinate is coordinate 1).

Available constructors are :

Attribute "pointers" aren't standard pointers but class PointerOf objects in order to simplify memory management.

A simple test program (testUArray) allows to test this class.

This class describes all possible cell models and is used in order to acces informations about geometric type of the cell : Each object (if instancied), contains generic informations about the cell model it describes as cell dimensions, number of nodes...


It could also store useful optional information about nodes as node numbers and about axes as names or units.
spaceDimension and numberOfNodes can be found in _coordinate object.


Inherits from public exception.


It inherits from support.
It contains a list of elements (by SUPPORT class inheritance) and a description of some attributs.

All families on one entity represent a mesh partition for this entity.

The caller gets pointer ownership

Generic part : implement the readopen and close methods.


It inherits from SUPPORT.
It is a blending of some FAMILY class.

Generic part : implement open and close methods.


    the object PointerOf is the memory owner if a size is given at object construction.
    In these cases, memory will be desallocated at object destruction. In all other cases,
    the desallocator will only nullify pointers.

here is a simple use case STRING msgErr; msgErr << "This Object cannot be instanciated by now ! Try "<< 11 << "times just to see what happens "; throw SALOME_EXCEPTION (LOCALIZED(msgErr)) ;


Class Documentation

struct MEDMEM::MinMax

template<class T>
struct MEDMEM::MinMax< T >

Definition at line 59 of file MEDMEM_Field.hxx.

struct MEDMEM::nameGIBItoMED

Definition at line 72 of file MEDMEM_GibiMeshDriver.hxx.

Collaboration diagram for MEDMEM::nameGIBItoMED:
Class Members
int gibi_id
string gibi_name
int gibi_pile
int med_id
string med_name
struct MEDMEM::DT_IT_

Definition at line 36 of file MEDMEM_MedFileBrowser.hxx.

Class Members
int dt
int it
struct MEDMEM::Gauss

Definition at line 28 of file MEDMEM_Tags.hxx.

struct MEDMEM::NoGauss

Definition at line 29 of file MEDMEM_Tags.hxx.

struct MEDMEM::FullInterlace

Definition at line 30 of file MEDMEM_Tags.hxx.

struct MEDMEM::NoInterlace

Definition at line 31 of file MEDMEM_Tags.hxx.

struct MEDMEM::NoInterlaceByType

Definition at line 32 of file MEDMEM_Tags.hxx.


Typedef Documentation

typedef pair<int,int> MEDMEM::_link

Definition at line 67 of file MEDMEM_DriverTools.hxx.

typedef map<DT_IT_, SALOME_MED::FIELD_ptr, LT_DT_IT_ > MEDMEM::MAP_IOR_DT_IT_

Definition at line 47 of file MEDMEM_Med_i.hxx.

typedef std::vector<DT_IT_> MEDMEM::VEC_DT_IT_

Definition at line 47 of file MEDMEM_MedFileBrowser.hxx.


Enumeration Type Documentation

Enumerator:
MED_DRIVER 
GIBI_DRIVER 
PORFLOW_DRIVER 
ENSIGHT_DRIVER 
VTK_DRIVER 
ASCII_DRIVER 
NO_DRIVER 

Definition at line 45 of file MEDMEM_GenDriver.hxx.

Functions to set writing format.

Default format is EnSight6 ASCII

Enumerator:
ENSIGHT_6 
ENSIGHT_GOLD 

Definition at line 50 of file MEDMEM_EnsightUtils.hxx.


Function Documentation

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, FullInterlaceGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert ( const MEDMEM_Array< T, NoInterlaceGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 30 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,FullInterlaceGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray = new MEDMEM_Array<T,FullInterlaceGaussPolicy,CHECKING_POLICY> 
      (values,
       array.getDim(),
       array.getNbElem(),
       array.getNbGeoType(),
       array.getNbElemGeoC(),
       array.getNbGaussGeo(),
       true,false
       );
  else
     myArray= new MEDMEM_Array<T,FullInterlaceGaussPolicy,CHECKING_POLICY> 
      (array.getDim(),
       array.getNbElem(),
       array.getNbGeoType(),
       array.getNbElemGeoC(),
       array.getNbGaussGeo()
       );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int k=1; k<= array.getNbGauss(i); k++ )
      for (int j=1; j<= array.getDim(); j++ )
        myArray->setIJK(i,j,k,array.getIJK(i,j,k));

  return myArray;

}

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, NoInterlaceGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert ( const MEDMEM_Array< T, FullInterlaceGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 64 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,NoInterlaceGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray = new MEDMEM_Array<T, NoInterlaceGaussPolicy,CHECKING_POLICY> (
                                                                           values,
                                                                           array.getDim(),
                                                                           array.getNbElem(),
                                                                           array.getNbGeoType(),
                                                                           array.getNbElemGeoC(),
                                                                           array.getNbGaussGeo(),
                                                                           true,false
                                                                           );
  else
    myArray = new MEDMEM_Array<T, NoInterlaceGaussPolicy,CHECKING_POLICY> (
                                                                           array.getDim(),
                                                                           array.getNbElem(),
                                                                           array.getNbGeoType(),
                                                                           array.getNbElemGeoC(),
                                                                           array.getNbGaussGeo()
                                                                           );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int k=1; k<= array.getNbGauss(i); k++ )
      for (int j=1; j<= array.getDim(); j++ )
        myArray->setIJK(i,j,k,array.getIJK(i,j,k));

  return myArray;

}

Here is the call graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, FullInterlaceGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert ( const MEDMEM_Array< T, NoInterlaceByTypeGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 98 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,FullInterlaceGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray = new MEDMEM_Array<T, FullInterlaceGaussPolicy,CHECKING_POLICY> (
                                                                           values,
                                                                           array.getDim(),
                                                                           array.getNbElem(),
                                                                           array.getNbGeoType(),
                                                                           array.getNbElemGeoC(),
                                                                           array.getNbGaussGeo(),
                                                                           true,false
                                                                           );
  else
    myArray = new MEDMEM_Array<T, FullInterlaceGaussPolicy,CHECKING_POLICY> (
                                                                           array.getDim(),
                                                                           array.getNbElem(),
                                                                           array.getNbGeoType(),
                                                                           array.getNbElemGeoC(),
                                                                           array.getNbGaussGeo()
                                                                           );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int k=1; k<= array.getNbGauss(i); k++ )
      for (int j=1; j<= array.getDim(); j++ )
        myArray->setIJK(i,j,k,array.getIJK(i,j,k));
  
  return myArray;

}

Here is the call graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, NoInterlaceNoGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert ( const MEDMEM_Array< T, FullInterlaceNoGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 166 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,NoInterlaceNoGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray=new MEDMEM_Array<T, NoInterlaceNoGaussPolicy, CHECKING_POLICY> ( values,
                                                                             array.getDim(),
                                                                             array.getNbElem(),
                                                                             true,false
                                                                             );
  else
    myArray = new MEDMEM_Array<T, NoInterlaceNoGaussPolicy, CHECKING_POLICY> (
                                                                              array.getDim(),
                                                                              array.getNbElem()
                                                                              );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int j=1; j<= array.getDim(); j++ )
      myArray->setIJ(i,j,array.getIJ(i,j));

  return myArray;

}

Here is the call graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, FullInterlaceNoGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert ( const MEDMEM_Array< T, NoInterlaceByTypeNoGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 192 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,FullInterlaceNoGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray=new MEDMEM_Array<T, FullInterlaceNoGaussPolicy, CHECKING_POLICY> ( values,
                                                                             array.getDim(),
                                                                             array.getNbElem(),
                                                                             true,false
                                                                             );
  else
    myArray = new MEDMEM_Array<T, FullInterlaceNoGaussPolicy, CHECKING_POLICY> (
                                                                              array.getDim(),
                                                                              array.getNbElem()
                                                                              );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int j=1; j<= array.getDim(); j++ )
      myArray->setIJ(i,j,array.getIJ(i,j));
  
  return myArray;

}

Here is the call graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, FullInterlaceNoGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert ( const MEDMEM_Array< T, NoInterlaceNoGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 244 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,FullInterlaceNoGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray= new MEDMEM_Array<T, FullInterlaceNoGaussPolicy, CHECKING_POLICY> (values,
                                                                               array.getDim(),
                                                                               array.getNbElem(),
                                                                               true,false
                                                                               );
  else
    myArray= new MEDMEM_Array<T, FullInterlaceNoGaussPolicy, CHECKING_POLICY> (
                                                                               array.getDim(),
                                                                               array.getNbElem()
                                                                               );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int j=1; j<= array.getDim(); j++ )
      myArray->setIJ(i,j,array.getIJ(i,j));

  return myArray;

}

Here is the call graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, NoInterlaceGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert2No ( const MEDMEM_Array< T, NoInterlaceByTypeGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 132 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,NoInterlaceGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray = new MEDMEM_Array<T, NoInterlaceGaussPolicy,CHECKING_POLICY> (
                                                                           values,
                                                                           array.getDim(),
                                                                           array.getNbElem(),
                                                                           array.getNbGeoType(),
                                                                           array.getNbElemGeoC(),
                                                                           array.getNbGaussGeo(),
                                                                           true,false
                                                                           );
  else
    myArray = new MEDMEM_Array<T, NoInterlaceGaussPolicy,CHECKING_POLICY> (
                                                                           array.getDim(),
                                                                           array.getNbElem(),
                                                                           array.getNbGeoType(),
                                                                           array.getNbElemGeoC(),
                                                                           array.getNbGaussGeo()
                                                                           );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int k=1; k<= array.getNbGauss(i); k++ )
      for (int j=1; j<= array.getDim(); j++ )
        myArray->setIJK(i,j,k,array.getIJK(i,j,k));
  
  return myArray;

}

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T , class CHECKING_POLICY >
MEDMEM_Array<T, NoInterlaceNoGaussPolicy, CHECKING_POLICY>* MEDMEM::ArrayConvert2No ( const MEDMEM_Array< T, NoInterlaceByTypeNoGaussPolicy, CHECKING_POLICY > &  array,
T *  values = 0 
)

Definition at line 218 of file MEDMEM_ArrayConvert.hxx.

{
  MEDMEM_Array<T,NoInterlaceNoGaussPolicy,CHECKING_POLICY> * myArray;
  if(values)
    myArray=new MEDMEM_Array<T, NoInterlaceNoGaussPolicy, CHECKING_POLICY> ( values,
                                                                             array.getDim(),
                                                                             array.getNbElem(),
                                                                             true,false
                                                                             );
  else
    myArray = new MEDMEM_Array<T, NoInterlaceNoGaussPolicy, CHECKING_POLICY> (
                                                                              array.getDim(),
                                                                              array.getNbElem()
                                                                              );
  for (int i=1; i <= array.getNbElem() ; i++ )
    for (int j=1; j<= array.getDim(); j++ )
      myArray->setIJ(i,j,array.getIJ(i,j));
  
  return myArray;

}

Here is the call graph for this function:

template<int N>
bool MEDMEM::compare ( const double *  a,
const double *  b 
)

Definition at line 57 of file MEDMEM_AsciiFieldDriver.hxx.

  {
    double sign=b[N]<0 ? -1 : 1;
    if(a[N]<b[N]*(1-sign*PRECISION_IN_COMPARE))
      return true;
    if(a[N]>b[N]*(1+sign*PRECISION_IN_COMPARE))
      return false;
    return compare<N-1>(a,b);
  }

Here is the caller graph for this function:

template<>
bool MEDMEM::compare<-1 > ( const double *  a,
const double *  b 
)

Definition at line 47 of file MEDMEM_DriverFactory.cxx.

{
  return false;
}
template<typename TLocal , typename TCorbaSeq , typename Tint >
void MEDMEM::convertCorbaArray ( TLocal *&  T,
Tint &  nT,
const TCorbaSeq &  S 
) [inline]

Definition at line 34 of file UtilClient.hxx.

{
  Tint i, n = S->length();

  nT = n;
  T = n > 0 ? new TLocal[n] : NULL;

  for (i=0; i<n; i++) {
    T[i] = (*S)[i];
  }
}

Here is the caller graph for this function:

template<typename TCorba , typename TLocal , typename TCorbaSeq >
void MEDMEM::convertCorbaArray ( TLocal *&  T,
long &  nT,
const TCorbaSeq &  S,
void *  f 
) [inline]

Definition at line 63 of file UtilClient.hxx.

{
  int i, n = S->length();
  SCRUTE(n);

  nT = n;
  T = n > 0 ? new TLocal[n] : NULL;

  typedef TLocal (*pfn) (const TCorba &T);

  pfn convert = pfn(f);
  for (i=0; i<n; i++) {
    SCRUTE((*S)[i]);
    T[i] = convert((*S)[i]);
    SCRUTE(T[i]);
  }
}

Here is the call graph for this function:

template<typename TLocal , typename TCorbaSeq >
void MEDMEM::convertCorbaArray ( std::vector< TLocal > &  T,
int &  nT,
const TCorbaSeq &  S 
) [inline]

Definition at line 84 of file UtilClient.hxx.

{
  int i, n = S->length();
  SCRUTE(n);

  nT = n;
  T.resize(nT);

  for (i=0; i<nT; i++) {
    SCRUTE((*S)[i]);
    T[i] = convert((*S)[i]);
    SCRUTE(T[i]);
  }
}

Here is the call graph for this function:

template<typename TCorba , typename TLocal , typename TCorbaSeq >
void MEDMEM::convertCorbaArray ( std::vector< TLocal > &  T,
int &  nT,
const TCorbaSeq &  S,
void *  f 
) [inline]

Definition at line 104 of file UtilClient.hxx.

{
  int i, n = S->length();
  SCRUTE(n);

  nT = n;
  T.resize(nT);

  typedef TLocal (*pfn) (const TCorba &T);

  pfn convert = pfn(f);
  for (i=0; i<nT; i++) {
    SCRUTE((*S)[i]);
    T[i] = convert((*S)[i]);
    SCRUTE(T[i]);
  }
 
}

Here is the call graph for this function:

template<typename TCorba , typename TLocal , typename TCorbaSeq , typename TInfo >
void MEDMEM::convertCorbaArray ( std::vector< TLocal > &  T,
const TCorbaSeq &  S,
void *  f,
TInfo  M 
) [inline]

Definition at line 130 of file UtilClient.hxx.

{
  int i, n = S->length();
  SCRUTE(n);

  int nT = n;
  T.resize(nT);

  typedef TLocal (*pfn) (const TCorba & , TInfo);

  pfn convert = pfn(f);
  for (i=0; i<nT; i++) {
    SCRUTE((*S)[i]);
    T[i] = convert((*S)[i], M);
    SCRUTE(T[i]);
  }
 
}

Here is the call graph for this function:

template<typename TLocal , typename TCorbaSeq , typename Tint >
void MEDMEM::convertCorbaArray2 ( TLocal &  tab,
Tint &  nT,
const TCorbaSeq  s 
) [inline]

Definition at line 49 of file UtilClient.hxx.

{
  Tint i, n = s.length();

  nT = n;
  tab.set(n);
  for (i=0; i<n; i++) {
    tab[i] = s[i];
  }
}
template<class T >
FIELD<T,FullInterlace>* MEDMEM::FieldConvert ( const FIELD< T, NoInterlace > &  field)

Definition at line 35 of file MEDMEM_FieldConvert.hxx.

{
  typedef typename MEDMEM_ArrayInterface<T,FullInterlace,NoGauss>::Array ArrayFullNo;
  typedef typename MEDMEM_ArrayInterface<T,FullInterlace,Gauss>::Array ArrayFullGa;

  FIELD<T,FullInterlace> * myField = new FIELD<T,FullInterlace>();
  FIELD_ * myField_ = myField;
  FIELD_ * field_ = &(const_cast< FIELD<T,NoInterlace> &> (field));
  *myField_ = *field_;                        // Opérateur d'affectation de FIELD_ OK
  // *((FIELD_ *) myField) = (FIELD_ ) field; //Contructeur par recopie de FIELD_ Pourquoi?

  if  ( field.getGaussPresence() ) {
    ArrayFullGa * myArray = ArrayConvert( *(field.getArrayGauss()) );
    myField->setArray(myArray);
    return myField;
  } else {
    ArrayFullNo * myArray = ArrayConvert( *(field.getArrayNoGauss()) );
    myField->setArray(myArray);
    return myField;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T >
FIELD<T,NoInterlace>* MEDMEM::FieldConvert ( const FIELD< T, FullInterlace > &  field)

Definition at line 58 of file MEDMEM_FieldConvert.hxx.

{
  typedef typename MEDMEM_ArrayInterface<T,NoInterlace,NoGauss>::Array ArrayNoNo;
  typedef typename MEDMEM_ArrayInterface<T,NoInterlace,Gauss>::Array ArrayNoGa;


  FIELD<T,NoInterlace> * myField = new FIELD<T,NoInterlace>();
  FIELD_ * myField_ = myField;
  FIELD_ * field_ = &(const_cast< FIELD<T,FullInterlace> &> (field));
  *myField_ = *field_;                        // Opérateur d'affectation de FIELD_ OK
  //   *((FIELD_*) myField) = (FIELD_) field; //Contructeur par recopie de FIELD_ Pourquoi?

  if  ( field.getGaussPresence() ) {
    ArrayNoGa * myArray = ArrayConvert( *(field.getArrayGauss()) );
    myField->setArray(myArray);
    return myField;
  } else {
    ArrayNoNo * myArray = ArrayConvert( *(field.getArrayNoGauss()) );
    myField->setArray(myArray);
    return myField;
  }

}

Here is the call graph for this function:

template<class T >
FIELD<T,FullInterlace>* MEDMEM::FieldConvert ( const FIELD< T, NoInterlaceByType > &  field)

Definition at line 83 of file MEDMEM_FieldConvert.hxx.

{
  typedef typename MEDMEM_ArrayInterface<T,FullInterlace,NoGauss>::Array ArrayFullNo;
  typedef typename MEDMEM_ArrayInterface<T,FullInterlace,Gauss>::Array ArrayFullGa;

  FIELD<T,FullInterlace> * myField = new FIELD<T,FullInterlace>();
  FIELD_ * myField_ = myField;
  FIELD_ * field_ = &(const_cast< FIELD<T,NoInterlaceByType> &> (field));
  *myField_ = *field_;                        // Opérateur d'affectation de FIELD_ OK
  // *((FIELD_ *) myField) = (FIELD_ ) field; //Contructeur par recopie de FIELD_ Pourquoi?

  if  ( field.getGaussPresence() ) {
    ArrayFullGa * myArray = ArrayConvert( *(field.getArrayGauss()) );
    myField->setArray(myArray);
    return myField;
  } else {
    ArrayFullNo * myArray = ArrayConvert( *(field.getArrayNoGauss()) );
    myField->setArray(myArray);
    return myField;
  }
}

Here is the call graph for this function:

template<int N, unsigned int CODE>
void MEDMEM::fill ( double *  a,
const double *  b 
)

Definition at line 50 of file MEDMEM_AsciiFieldDriver.hxx.

  {
    a[N]=b[CODE & 0x3 ];
    fill<N-1, (CODE>>2) >(a,b);
  }

Here is the caller graph for this function:

template<>
void MEDMEM::fill<-1, 0x3 > ( double *  a,
const double *  b 
)

Definition at line 42 of file MEDMEM_DriverFactory.cxx.

{
}
std::string MEDMEM::getBaseName ( const std::string &  dataname) [inline]

Definition at line 35 of file MEDMEM_Utilities.hxx.

  {
    std::string aBaseName = "";
#ifndef WIN32
    aBaseName = basename((char*)dataname.c_str());
#else
    for ( int i = dataname.size()-1; i >= 0; i-- ) {
      char aSymb = dataname[i];
      if ( dataname[i] == '\\' || dataname[i] == '/' )
        break;
      aBaseName = dataname[i] + aBaseName;
    }
#endif
    return aBaseName;
  }
std::string MEDMEM::getDirName ( const std::string &  dataname) [inline]

Definition at line 51 of file MEDMEM_Utilities.hxx.

  {
    std::string aDirName = "";
#ifndef WIN32
    aDirName = dirname((char*)dataname.c_str());
#else
    bool aFindLine = false;
    for ( int i = dataname.size()-1; i >= 0; i-- ) {
      char aSymb = dataname[i];
      if ( !aFindLine )
        aFindLine = dataname[i] == '\\' || dataname[i] == '/';
      else
        aDirName = dataname[i] + aDirName;
    }
    if ( !aFindLine )
      aDirName = '.';
#endif
    return aDirName;
  }

Definition at line 95 of file MEDMEM_EnsightUtils.cxx.

Here is the caller graph for this function:

med_2_3::med_access_mode MEDMEM::getMedAccessMode ( MED_EN::med_mode_acces  mode)

Definition at line 85 of file MEDMEM_MedVersion.cxx.

{
  //from med.h:
  //    MED_ACC_RDONLY, /**<Ouverture en lecture seule*/
  //    MED_ACC_RDWR,   /**<Ouverture en lecture/ecriture, si un élément existe il est écrasé*/
  //    MED_ACC_RDEXT,  /**<Ouverture en lecture/ecriture, si un élément existe une erreur est générée*/
  //    MED_ACC_CREAT,  /**<Créer le fichier s'il n'existe pas, l'écrase sinon*/
  //    MED_ACC_UNDEF   /**<Variable globale interne initialisée au mode d'ouverture*/ 
  switch ( mode ) {
  case MED_EN::RDONLY: return med_2_3::MED_ACC_RDONLY;
  case MED_EN::WRONLY: return med_2_3::MED_ACC_CREAT;
  case MED_EN::RDWR:   return med_2_3::MED_ACC_RDWR;
  default:
    return med_2_3::med_access_mode( mode );
  }
}

Here is the caller graph for this function:

medFileVersion MEDMEM::getMedFileVersion ( const string &  fileName) throw (MEDEXCEPTION)

Definition at line 29 of file MEDMEM_MedVersion.cxx.

{
  medFileVersion version;

  med_2_3::med_idt fid22;

  med_2_3::med_err ret22;

  med_2_3::med_int major22;
  med_2_3::med_int minor22;
  med_2_3::med_int release22;

  med_2_3::med_access_mode access22 = med_2_3::MED_ACC_RDONLY;

  /*
    Med Version 2.3 access to the file
  */

  fid22 = med_2_3::MEDfileOpen(fileName.c_str(),access22);

  if (fid22 < 0)
    throw MEDEXCEPTION("Problem in getMedFileVersion(const string &) Med file V2.2 access");

  ret22 = med_2_3::MEDfileNumVersionRd(fid22,&major22,&minor22,&release22);

  if (ret22 < 0)
    throw MEDEXCEPTION("Problem in getMedFileVersion(const string &) Med file V2.2 version numbers reading");

  if ((minor22 == -1) || (release22 == -1))
    {
      MESSAGE_MED("getMedFileVersion the file may have been produced by a version 2.1.x x<5");
      minor22 = 1;
      release22 = 5;
    }

  ret22 = med_2_3::MEDfileClose(fid22);

  if (ret22 < 0)
    throw MEDEXCEPTION("Problem in getMedFileVersion(const string &) Med file V2.2 file closing");

  if (major22 == 2)
    {
      if (minor22 == 1)
        version = V21;
      else if (minor22 > 1)
        version = V22;
    }
  else
    version = V22;

  MESSAGE_MED("getMedFileVersion the version of the file is " << version);

  return version;
}

Here is the caller graph for this function:

std::string MEDMEM::healName ( const std::string &  name) [inline]

Make a name valid.

So far, removes white spaces from name end

Definition at line 74 of file MEDMEM_Utilities.hxx.

  {
    size_t last = name.size()-1;
    while ( last >= 0 && ( isspace( name[last] ) || !name[last] ))
      last--;
    return name.substr( 0, last + 1 );
  }

Here is the caller graph for this function:

Definition at line 99 of file MEDMEM_EnsightUtils.cxx.

ostream & MEDMEM::operator<< ( ostream &  os,
const MEDSKYLINEARRAY &  sky 
)

Definition at line 125 of file MEDMEM_SkyLineArray.cxx.

                                                                   {
  os << "_count : " << sky._count << " ,_length : " << sky._length;
  for (int i = 0; i < sky._count ; i++) {
    os << endl << "Values of type n°" << i+1 << " (index["<<i<<"]="<< sky._index[i]<<") :" << endl;
    for (int j=sky._index[i]-1;j < sky._index[i+1]-1;j++)
      os << sky._value[j] << " " ;
  }
  return os;
}
ostream & MEDMEM::operator<< ( std::ostream &  os,
FAMILY &  my 
)

Definition at line 269 of file MEDMEM_Family.cxx.

{
  // how do cast without duplicate ?
  os << (SUPPORT&) myFamily;

  os << "  - Identifier : "<<myFamily.getIdentifier()<<endl;
  int numberofattributes = myFamily.getNumberOfAttributes();
  os << "  - Attributes ("<<numberofattributes<<") :"<<endl;
  for (int j=1;j<numberofattributes+1;j++)
    os << "    * "<<myFamily.getAttributeIdentifier(j)<<" : "<<myFamily.getAttributeValue(j)<<", "<<myFamily.getAttributeDescription(j).c_str()<<endl;
  int numberofgroups = myFamily.getNumberOfGroups();
  os << "  - Groups ("<<numberofgroups<<") :"<<endl;
  for (int j=1;j<numberofgroups+1;j++)
    os << "    * "<<myFamily.getGroupName(j).c_str()<<endl ;

  return os;
}

Here is the call graph for this function:

ostream & MEDMEM::operator<< ( std::ostream &  os,
const FAMILY &  my 
)

Definition at line 287 of file MEDMEM_Family.cxx.

{
  // how do cast without duplicate ?
  os << (const SUPPORT&) myFamily;

  os << "  - Identifier : "<<myFamily.getIdentifier()<<endl;
  int numberofattributes = myFamily.getNumberOfAttributes();
  os << "  - Attributes ("<<numberofattributes<<") :"<<endl;
  for (int j=1;j<numberofattributes+1;j++)
    os << "    * "<<myFamily.getAttributeIdentifier(j)<<" : "<<myFamily.getAttributeValue(j)<<", "<<myFamily.getAttributeDescription(j).c_str()<<endl;
  int numberofgroups = myFamily.getNumberOfGroups();
  os << "  - Groups ("<<numberofgroups<<") :"<<endl;
  for (int j=1;j<numberofgroups+1;j++)
    os << "    * "<<myFamily.getGroupName(j).c_str()<<endl ;

  return os;
}

Here is the call graph for this function:

ostream & MEDMEM::operator<< ( std::ostream &  os,
CONNECTIVITY &  my 
)

Definition at line 1827 of file MEDMEM_Connectivity.cxx.

{
  os << endl << "------------- Entity = ";
  switch (co._entity)
  {
  case MED_CELL:
    os << "MED_CELL";
    break;
  case MED_FACE:
    os << "MED_FACE";
    break;
  case MED_EDGE:
    os << "MED_EDGE";
    break;
  case MED_NODE:
    os << "MED_NODE";
    break;
  case MED_ALL_ENTITIES:
    os << "MED_ALL_ENTITIES";
    break;
  default:
    os << "Unknown";
    break;
  }
  os  << " -------------\n\nMedConnectivity : ";
  switch (co._typeConnectivity)
  {
  case MED_NODAL:
    os << "MED_NODAL\n";
    break;
  case MED_DESCENDING:
    os << "MED_DESCENDING\n";
    break;
  default:
    break;
  }
  os << "Entity dimension : " << co._entityDimension << endl;
  os << "Number of nodes : " << co._numberOfNodes << endl;
  os << "Number of types : " << co._numberOfTypes << endl;
  for (int i=0; i!=co._numberOfTypes ; ++i)
    os << "  -> Type " << co._geometricTypes[i] << " (" << co._type[i].getName() << ") : "
       << co._count[i+1]-co._count[i] << " elements" << endl;

  if (co._typeConnectivity == MED_NODAL )
  {
    for (int i=0; i<co._numberOfTypes; i++)
    {
      os << endl << co._type[i].getName() << " : " << endl;
      int numberofelements = co._count[i+1]-co._count[i];
      const int * connectivity = co.getConnectivity(co._typeConnectivity, co._entity, MED_EN::MED_ALL_ELEMENTS);
      const int * index = co.getConnectivityIndex(co._typeConnectivity, co._entity) + co._count[i]-1;
      for (int j=0;j<numberofelements;j++)
      {
        const int * cellconn = connectivity+index[j]-1;
        const int * cellconnend = connectivity+index[j+1]-1;
        os << setw(6) << j+1 << " : ";
        while ( cellconn < cellconnend )
          os << *cellconn++ <<" ";
        os << endl;
      }
    }
  }
  else if (co._typeConnectivity == MED_DESCENDING)
  {
    int numberofelements = co.getNumberOf( co._entity , MED_ALL_ELEMENTS);
    if (numberofelements > 0)
    {
      const int *connectivity =  co.getConnectivity( co._typeConnectivity, co._entity, MED_ALL_ELEMENTS);
      const int *connectivity_index =  co.getConnectivityIndex( co._typeConnectivity, co._entity );

      for ( int j=0; j!=numberofelements; j++ )
      {
        os << "Element " << j+1 << " : ";
        for ( int k=connectivity_index[j]; k!=connectivity_index[j+1]; k++ )
          os << connectivity[k-1] << " ";
        os << endl;
      }
    }
  }

  if (co._constituent)
    os << endl << *co._constituent << endl;

  return os;
}
ostream & MEDMEM::operator<< ( std::ostream &  os,
const GMESH &  me 
)

Print operator.

Definition at line 276 of file MEDMEM_GMesh.cxx.

{
  myMesh.printMySelf(os);
  return os;
}

Here is the call graph for this function:

ostream & MEDMEM::operator<< ( std::ostream &  os,
GROUP &  my 
)

Definition at line 56 of file MEDMEM_Group.cxx.

{
  os << (SUPPORT&) myGroup;

  int numberoffamilies = myGroup.getNumberOfFamilies();
  os << "  - Families ("<<numberoffamilies<<") :"<<endl;
  for (int j=1;j<numberoffamilies+1;j++)
    os << "    * "<<myGroup.getFamily(j)->getName().c_str()<<endl ;

  return os;
}

Here is the call graph for this function:

ostream & MEDMEM::operator<< ( ostream &  os,
const MEDEXCEPTION &  ex 
)

Operator << : put the message to the given stream.

Definition at line 154 of file MEDMEM_Exception.cxx.

{
  os << ex._text ;
  return os ;
}
ostream & MEDMEM::operator<< ( ostream &  os,
const GENDRIVER &  genDriver 
)

Definition at line 138 of file MEDMEM_GenDriver.cxx.

{
  switch (drv._accessMode)
    {
    case RDONLY : 
      os<<"C'est un IO de READ"<<endl;
      break;
    case RDWR :
      os<<"C'est un IO d'READ/WRITE"<<endl;
      break;
    case WRONLY :
      os<<"C'est un IO d'WRITE"<<endl;
      break;
    }
  switch (drv._status)
    {
    case MED_OPENED :
      os<<"L'IO_Mesh_MED est open"<<endl;
      break;
    case MED_CLOSED :
      os<<"L'IO_Mesh_MED est fermé"<<endl;
      break;
    case MED_INVALID :
      os<<"L'IO_Mesh_MED est non-valide"<<endl;
      break;
    }
  return os;
}
ostream & MEDMEM::operator<< ( ostream &  os,
const MESH &  my 
)

print my contents

Definition at line 299 of file MEDMEM_Mesh.cxx.

{
  myMesh.printMySelf(os);
  return os;
}
ostream & MEDMEM::operator<< ( ostream &  os,
const CELLMODEL &  my 
)

Definition at line 1394 of file MEDMEM_CellModel.cxx.

{
  os << "Cell Model :" << endl ;
  os << "  - name               : " << my._name << endl;
  os << "  - type               : " << (int)my._type << endl;
  os << "  - dimension          : " << my._dimension << endl;
  os << "  - number of nodes    : " << my._numberOfNodes << endl ;
  os << "  - number of vertexes : " << my._numberOfVertexes << endl ;

  os << "  - number of Constituents Dimension : " << my._numberOfConstituentsDimension << endl ;

  for(int i=0;i<my._numberOfConstituentsDimension;i++)
    {

      os << "  - for dimension (-" << i+1 << ") : " << endl ;
      os << "    - number of Constituents for this Dimension : " << my._numberOfConstituents[i] << endl ;

      for(int j=0;j<my._numberOfConstituents[i];j++)
        {
          os << "    - number of node for this constituent : " << my._numberOfNodeOfEachConstituent[i][j] << endl ;
          os << "      - constituents " << j+1 << " of type "<< my._constituentsType[i][j] <<" : " ;
          for(int k=0;k<my._numberOfNodeOfEachConstituent[i][j];k++)
            os << my._constituents[i][j][k] << " " ;
          os << endl ;
        }
    }
  return os;
}
template<class INTERLACING_TAG >
ostream & MEDMEM::operator<< ( ostream &  os,
const GAUSS_LOCALIZATION< INTERLACING_TAG > &  loc 
)

Definition at line 201 of file MEDMEM_GaussLocalization.hxx.

                                                                                                                 {
    os << "Localization Name     : " << loc._locName << endl;
    os << "Geometric Type        : " << MED_EN::geoNames[loc._typeGeo]<< endl;
    os << "Number Of GaussPoints : " << loc._nGauss << endl;
    os << "Ref.   Element Coords : " << endl << loc._cooRef << endl;
    os << "Gauss points Coords   : " << endl << loc._cooGauss << endl;
    os << "Gauss points weigth   : " << endl ;
    for(unsigned i=0; i<loc._wg.size();++i)
      os << "_wg[" << i << "] = " << loc._wg[i] << endl;
    return os;
  }
std::ostream & MEDMEM::operator<< ( std::ostream &  os,
const _maille &  ma 
)

Definition at line 158 of file MEDMEM_DriverTools.cxx.

{
    os << "maille " << ma.ordre() << " (" << ma.geometricType << ") : < ";
    os << ma.nodeNum(0);
    for( unsigned i=1; i!=ma.sommets.size(); ++i)
        os << ", " << ma.nodeNum( i );
    os << " > sortedNodeIDs: ";
    if ( ma.sortedNodeIDs ) {
      os << "< ";
      for( unsigned i=0; i!=ma.sommets.size(); ++i)
        os << ( i ? ", " : "" ) << ma.sortedNodeIDs[ i ];
      os << " >";
    }
    else {
      os << "NULL";
    }
    if ( ma.isMerged() )
      os << " MERGED ";
    return os;
}
std::ostream & MEDMEM::operator<< ( std::ostream &  os,
const _groupe &  gr 
)

Definition at line 179 of file MEDMEM_DriverTools.cxx.

{
    os << "--- Groupe " << gr.nom << " --- " << std::endl ;
    os << " -> liste des sous-groupes : ";
    for( std::vector<int>::const_iterator i=gr.groupes.begin(); i!=gr.groupes.end(); ++i)
            os << *i << " ";

    os << std::endl << " -> liste des "<< gr.mailles.size() << " mailles : " << std::endl;

    _groupe::TMailleIter i1=gr.mailles.begin();
    int l;
    for(l = 0; l < DUMP_LINES_LIMIT && i1!=gr.mailles.end(); i1++, l++)
            os << setw(3) << l+1 << " " << *(*i1) << std::endl;

    if ( l == DUMP_LINES_LIMIT )
      os << "   ... skip " << gr.mailles.size() - l << " mailles" << endl;

    os << " relocMap, size=" << gr.relocMap.size() << endl;
    map<unsigned,int>::const_iterator it = gr.relocMap.begin();
    for ( l = 0; l < DUMP_LINES_LIMIT && it != gr.relocMap.end(); ++it, ++l )
      os << " (" << it->first << "," << it->second << ")";
    if ( gr.relocMap.size() > 0 )
      os << endl;
    return os;
}
std::ostream & MEDMEM::operator<< ( std::ostream &  os,
const _noeud &  no 
)

Definition at line 205 of file MEDMEM_DriverTools.cxx.

{
    os << "noeud " << no.number << " : < ";
    std::vector<double>::const_iterator i=no.coord.begin();
    os << *i++ ;
    for( ; i!=no.coord.end(); ++i)
        os << ", " << *i;
    os << " >";
    return os;
}
std::ostream & MEDMEM::operator<< ( std::ostream &  os,
const _fieldBase *  f 
)

Definition at line 233 of file MEDMEM_DriverTools.cxx.

{
  f->dump( os );
  return os;
}
std::ostream & MEDMEM::operator<< ( std::ostream &  os,
const _intermediateMED &  mi 
)

Definition at line 239 of file MEDMEM_DriverTools.cxx.

{
  int l;
  _maillageByDimIterator maIt( mi );
  while ( const set<_maille >* maillage = maIt.nextType() )
  {
    os << "Set des " << maillage->size()
       << " mailles of type " << maIt.type() << ": "<< std::endl;
    std::set<_maille>::const_iterator i=maillage->begin();
    for( l = 0; l < DUMP_LINES_LIMIT && i!=maillage->end(); ++i, ++l)
      os << setw(3) << l+1 << " " <<*i << std::endl;
    if ( l == DUMP_LINES_LIMIT )
      os << "   ... skip " << maillage->size() - l << " mailles" << endl;
  }
  os << std::endl << "Vector des " << mi.groupes.size() << " groupes : " << std::endl;
  for (unsigned int k=0; k!=mi.groupes.size(); k++)
    os << std::setw(3) << k << " " << mi.groupes[k] << std::endl;

  os << std::endl << "map des " << mi.points.size() << " noeuds : " << std::endl;
  std::map<int,_noeud>::const_iterator j=mi.points.begin();
  for( l = 0; l < DUMP_LINES_LIMIT && j!=mi.points.end(); ++j, ++l)
    os << j->second << std::endl;
  if ( l == DUMP_LINES_LIMIT )
    os << "   ... skip " << mi.points.size() - l << " noeuds" << endl;

  os << endl << mi.fields.size() << " fields:" << endl;
  std::list<_fieldBase* >::const_iterator fIt = mi.fields.begin();
  for ( l = 0; fIt != mi.fields.end(); ++fIt, ++l )
    os << " - " << l+1 << " " << *fIt << endl;

  return os;
}
template<class T >
FIELD< T > * MEDMEM::readFieldInFile ( const std::string &  fileName,
const std::string &  fieldName 
)

Definition at line 53 of file MEDMEM_TopLevel.hxx.

Here is the call graph for this function:

MESH * MEDMEM::readMeshInFile ( const std::string &  fileName,
const std::string &  meshName 
)

Definition at line 31 of file MEDMEM_TopLevel.cxx.

{
  MESH *mesh = new MESH;
  driverTypes type = DRIVERFACTORY::deduceDriverTypeFromFileName(fileName);
  int id = mesh->addDriver(type,fileName,meshName,RDWR);
  mesh->read(id);
  return mesh;
}

Here is the call graph for this function:

void MEDMEM_EXPORT MEDMEM::setEnSightFormatForWriting ( EnSightFormat  format,
bool  isBinary 
)

Definition at line 90 of file MEDMEM_EnsightUtils.cxx.

void MEDMEM_EXPORT MEDMEM::setIgnoreIncompatibility ( bool  toIgnore = true)

To raise or not if MEDMEM-EnSight incompatibility encounters or suspected.

Default is to raise. To ignore incompatibility is useful for debug of EnSigt reading and for suppressing exceptions in some suspicious cases, for example writing several meshes and fields. Incompatibility exception includes "EnSight-MEDMEM compatibility problem" string. Not all incompatibility exceptions can be suppressed.

Definition at line 109 of file MEDMEM_EnsightUtils.cxx.

  {
    theIgnoreIncompatibility = toIgnore;
  }
int MEDMEM::swapBytes ( const int  theValue) [inline]

Change order of bytes for other endianness.

Definition at line 85 of file MEDMEM_Utilities.hxx.

  {
    return (0 | (( theValue & 0x000000ff ) << 24 )
            |   (( theValue & 0x0000ff00 ) << 8  )
            |   (( theValue & 0x00ff0000 ) >> 8  )
            |   (( theValue >> 24 ) & 0x000000ff ) );
  }

Here is the caller graph for this function:

template<class T >
void MEDMEM::writeFieldToFile ( const FIELD< T > *  fieldObj,
const std::string &  fileName 
)

Definition at line 64 of file MEDMEM_TopLevel.hxx.

  {
    FIELD<T> *fieldObjNoC=(FIELD<T> *)fieldObj;
    driverTypes type=DRIVERFACTORY::deduceDriverTypeFromFileName(fileName);
    int id=fieldObjNoC->addDriver(type, fileName, fieldObj->getName());
    fieldObjNoC->write(id);
  }

Here is the call graph for this function:

void::MEDMEM::writeMeshToFile ( const MESH *  meshObj,
const std::string &  fileName 
)

Definition at line 40 of file MEDMEM_TopLevel.cxx.

{
  MESH *meshObjNoC = (MESH *)meshObj;//MED::write should be a const method ... As it's not the case
  driverTypes type = DRIVERFACTORY::deduceDriverTypeFromFileName(fileName);
  int id = meshObjNoC->addDriver(type,fileName,meshObjNoC->getName(),RDWR);
  meshObjNoC->write(id);
}

Here is the call graph for this function:


Variable Documentation

Definition at line 45 of file MEDMEM_AsciiFieldDriver.hxx.

const double MEDMEM::PRECISION_IN_COMPARE = 1e-10

Definition at line 46 of file MEDMEM_AsciiFieldDriver.hxx.

const int MEDMEM::SPACE_BETWEEN_NBS = 19

Definition at line 47 of file MEDMEM_AsciiFieldDriver.hxx.

Definition at line 87 of file MEDMEM_EnsightUtils.cxx.

Writing format.

Definition at line 86 of file MEDMEM_EnsightUtils.cxx.

Definition at line 88 of file MEDMEM_EnsightUtils.cxx.