Version: 6.3.1

MEDMEM::MESH Class Reference

Inheritance diagram for MEDMEM::MESH:
Collaboration diagram for MEDMEM::MESH:

List of all members.

Public Member Functions

 MESH ()
 MESH (MESH &m)
virtual ~MESH ()
 MESH (driverTypes driverType, const string &fileName="", const string &meshName="") throw (MEDEXCEPTION)
void init ()
MESHoperator= (const MESH &m)
virtual bool operator== (const MESH &other) const
virtual bool deepCompare (const GMESH &other) const
virtual bool isEmpty () const
virtual void printMySelf (ostream &os) const
virtual int getMeshDimension () const
virtual bool getIsAGrid () const
virtual const MESHconvertInMESH () const
int getNumberOfNodes () const
virtual const COORDINATE * getCoordinateptr () const
string getCoordinatesSystem () const
virtual const double * getCoordinates (MED_EN::medModeSwitch Mode) const
virtual const double getCoordinate (int Number, int Axis) const
const string * getCoordinatesNames () const
const string * getCoordinatesUnits () const
virtual int getNumberOfTypes (MED_EN::medEntityMesh Entity) const
virtual const
MED_EN::medGeometryElement * 
getTypes (MED_EN::medEntityMesh Entity) const
virtual const CELLMODEL * getCellsTypes (MED_EN::medEntityMesh Entity) const
virtual string * getCellTypeNames (MED_EN::medEntityMesh Entity) const
virtual const int * getGlobalNumberingIndex (MED_EN::medEntityMesh Entity) const
virtual int getNumberOfElements (MED_EN::medEntityMesh Entity, MED_EN::medGeometryElement Type) const
virtual bool existConnectivity (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity) const
virtual MED_EN::medGeometryElement getElementType (MED_EN::medEntityMesh Entity, int Number) const
virtual void calculateConnectivity (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity) const
virtual int getConnectivityLength (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity, MED_EN::medGeometryElement Type) const
virtual const int * getConnectivity (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity, MED_EN::medGeometryElement Type) const
virtual const int * getConnectivityIndex (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity) const
virtual int getElementNumber (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity, MED_EN::medGeometryElement Type, int *connectivity) const
virtual int getReverseConnectivityLength (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity=MED_EN::MED_CELL) const
virtual const int * getReverseConnectivity (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity=MED_EN::MED_CELL) const
virtual int getReverseConnectivityIndexLength (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity=MED_EN::MED_CELL) const
virtual const int * getReverseConnectivityIndex (MED_EN::medConnectivity ConnectivityType, MED_EN::medEntityMesh Entity=MED_EN::MED_CELL) const
virtual const CONNECTIVITY * getConnectivityptr () const
void setConnectivityptr (CONNECTIVITY *)
virtual SUPPORTgetBoundaryElements (MED_EN::medEntityMesh Entity) const throw (MEDEXCEPTION)
virtual SUPPORTgetSkin (const SUPPORT *Support3D) throw (MEDEXCEPTION)
virtual FIELD< double > * getVolume (const SUPPORT *Support, bool isAbs=true) const throw (MEDEXCEPTION)
virtual FIELD< double > * getArea (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual FIELD< double > * getLength (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual FIELD< double > * getNormal (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual FIELD< double > * getBarycenter (const SUPPORT *Support) const throw (MEDEXCEPTION)
SUPPORTbuildSupportOnNodeFromElementList (const list< int > &listOfElt, MED_EN::medEntityMesh entity) const throw (MEDEXCEPTION)
void fillSupportOnNodeFromElementList (const list< int > &listOfElt, SUPPORT *supportToFill) const throw (MEDEXCEPTION)
int getElementContainingPoint (const double *coord)
vector< vector< double > > getBoundingBox () const
void convertToPoly ()

Protected Attributes

int _numberOfNodes
COORDINATE * _coordinate
CONNECTIVITY * _connectivity
int _arePresentOptionnalNodesNumbers
map< int, int > _optionnalToCanonicNodesNumbers

Friends

class MED_MESH_RDONLY_DRIVER
class MED_MESH_WRONLY_DRIVER
class MED_MED_RDONLY_DRIVER21
class MED_MED_WRONLY_DRIVER21
class MED_MED_RDWR_DRIVER21
class MED_MED_RDONLY_DRIVER22
class MED_MED_WRONLY_DRIVER22
class MED_MED_RDWR_DRIVER22
class GIBI_MESH_RDONLY_DRIVER
class GIBI_MESH_WRONLY_DRIVER
class GIBI_MESH_RDWR_DRIVER
class PORFLOW_MESH_RDONLY_DRIVER
class PORFLOW_MESH_WRONLY_DRIVER
class PORFLOW_MESH_RDWR_DRIVER
class VTK_MESH_DRIVER
class ENSIGHT_MESH_RDONLY_DRIVER
ostream & operator<< (ostream &os, const MESH &my)

Detailed Description

This class contains all the informations related with a MESH :

  • COORDINATES
  • CONNECTIVITIES
Examples:

FIELDcreate.cxx, MESHcoordinates.cxx, and MESHgeneral.cxx.


Constructor & Destructor Documentation

MESH::MESH ( )

Create an empty MESH.

References init().

MESH::~MESH ( ) [virtual]

References _connectivity, and _coordinate.


Member Function Documentation

void MESH::init ( ) [virtual]

Initialization of fields.

Reimplemented from MEDMEM::GMESH.

Referenced by MESH().

bool MESH::operator== ( const MESH other) const [virtual]
bool MESH::deepCompare ( const GMESH gother) const [virtual]

Returns true if mesh other has same coordinates (to 1E-15 precision ) and same connectivity as the calling object. Information like name or description is not taken into account for the comparison.

Implements MEDMEM::GMESH.

References _connectivity, _coordinate, getConnectivityptr(), getCoordinateptr(), getCoordinates(), getIsAGrid(), MEDMEM::GMESH::getIsAGrid(), getNumberOfNodes(), and MEDMEM::GMESH::getSpaceDimension().

bool MESH::getIsAGrid ( ) const [virtual]

Check nature of GMESH.

Implements MEDMEM::GMESH.

Referenced by deepCompare().

const CELLMODEL * MEDMEM::MESH::getCellsTypes ( MED_EN::medEntityMesh  Entity) const [virtual]

Get the whole list of CELLMODEL used by cells of given type (medEntityMesh). Passing MED_NODE as an entity type will throw an exception.

string * MEDMEM::MESH::getCellTypeNames ( MED_EN::medEntityMesh  Entity) const [virtual]

Get an array (it should deleted after use) of the whole list of CELLMODEL Name of a given type (medEntityMesh).

REMARK : Don't use MED_NODE as medEntityMesh

bool MEDMEM::MESH::existConnectivity ( MED_EN::medConnectivity  connectivityType,
MED_EN::medEntityMesh  entity 
) const [virtual]

Returns true if the wanted connectivity exist, else returns false (to use before a getSomething method).

void MEDMEM::MESH::calculateConnectivity ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  entity 
) const [virtual]

Calculates the required connectivity. Returns an exception if this could not be done. Do nothing if connectivity already exist.

int MEDMEM::MESH::getConnectivityLength ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  entity,
MED_EN::medGeometryElement  Type 
) const [virtual]

Returns the corresponding length of the array returned by MESH::getConnectivity with exactly the same arguments. Used particulary for wrapping CORBA and python.

int MESH::getElementNumber ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  Entity,
MED_EN::medGeometryElement  Type,
int *  connectivity 
) const [virtual]

Get global number of element which have same connectivity than connectivity argument.

It do not take care of connectivity order (3,4,7,10 is same as 7,3,10,4).

Return -1 if not found.

References getReverseConnectivity(), and getReverseConnectivityIndex().

int MEDMEM::MESH::getReverseConnectivityLength ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  Entity = MED_EN::MED_CELL 
) const [virtual]

Returns the corresponding length of the array returned by MESH::getReverseConnectivity with exactly the same arguments. Used particulary for wrapping CORBA and python.

const int * MEDMEM::MESH::getReverseConnectivity ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  Entity = MED_EN::MED_CELL 
) const [virtual]

Returns the reverse connectivity required by ConnectivityType :

  • If ConnectivityType=MED_NODAL : returns connectivity node-cell
  • If ConnectivityType=MED_DESCENDING : returns connectivity face-cell

You must get ReverseConnectivityIndex array to use it.

Referenced by MEDMEM::SUPPORT::getBoundaryElements(), getBoundaryElements(), getElementNumber(), and getSkin().

int MEDMEM::MESH::getReverseConnectivityIndexLength ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  Entity = MED_EN::MED_CELL 
) const [virtual]

Returns the corresponding length of the array returned by MESH::getReverseConnectivityIndex with exactly the same arguments. Used particulary for wrapping CORBA and python.

const int * MEDMEM::MESH::getReverseConnectivityIndex ( MED_EN::medConnectivity  ConnectivityType,
MED_EN::medEntityMesh  Entity = MED_EN::MED_CELL 
) const [virtual]

Returns the index array required by ConnectivityType.

This array allow to find reverse connectivity of each elements.

Example : Reverse connectivity of i^{th} elements (1<=i<=NumberOfElement) begin at index ReverseConnectivityIndex[i-1] and end at index ReverseConnectivityIndex[i]-1 in ReverseConnectivity array ( ReverseConnectivity[ReverseConnectivityIndex[i-1]-1] is the first value)

Referenced by MEDMEM::SUPPORT::getBoundaryElements(), getBoundaryElements(), getElementNumber(), and getSkin().

const CONNECTIVITY * MEDMEM::MESH::getConnectivityptr ( ) const [virtual]
void MEDMEM::MESH::setConnectivityptr ( CONNECTIVITY *  conn)
SUPPORT * MESH::buildSupportOnNodeFromElementList ( const list< int > &  listOfElt,
MED_EN::medEntityMesh  entity 
) const throw (MEDEXCEPTION)

Method created to factorize code. This method creates a new support on NODE (to deallocate) containing all the nodes id contained in elements 'listOfElt' of entity 'entity'.

References fillSupportOnNodeFromElementList(), MEDMEM::SUPPORT::setEntity(), MEDMEM::SUPPORT::setMesh(), and MEDMEM::SUPPORT::setName().

Referenced by getBoundaryElements().

void MESH::fillSupportOnNodeFromElementList ( const list< int > &  listOfElt,
SUPPORT supportToFill 
) const throw (MEDEXCEPTION)

Method that do the same thing as buildSupportOnNodeFromElementList except that a SUPPORT is not created.

References _connectivity.

Referenced by buildSupportOnNodeFromElementList().


Friends And Related Function Documentation

friend class MED_MESH_RDONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class MED_MESH_WRONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class MED_MED_RDONLY_DRIVER21 [friend]
friend class MED_MED_WRONLY_DRIVER21 [friend]
friend class MED_MED_RDWR_DRIVER21 [friend]
friend class MED_MED_RDONLY_DRIVER22 [friend]
friend class MED_MED_WRONLY_DRIVER22 [friend]
friend class MED_MED_RDWR_DRIVER22 [friend]
friend class GIBI_MESH_RDONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class GIBI_MESH_WRONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class GIBI_MESH_RDWR_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class PORFLOW_MESH_RDONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class PORFLOW_MESH_WRONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class PORFLOW_MESH_RDWR_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class VTK_MESH_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

friend class ENSIGHT_MESH_RDONLY_DRIVER [friend]

Reimplemented from MEDMEM::GMESH.

ostream& operator<< ( ostream &  os,
const MESH my 
) [friend]

Member Data Documentation

Modification pour prise en compte de la numérotation optionnelle des noeuds ///

La map suivante donne le lien numérotation optionnelle => numérotation cannonique Elle sera calculée apres l'appel de MEDnumLire(...) Et sera utilisée avant chaque appel a MEDconnLire(...) pour renuméroter toutes les mailles de façon canonique [1...n] _coordinate->NodeNumber sera utilisé avant chaque appel à MEDconnEcri pour démunéroter les mailles en leur numérotation originelle Ce traitement devrait prévenir tout plantage du aux numérotations optionnelles DES NOEUDS Et ne ralentira que tres peu les traitements sans numéros optionnels

Referenced by MESH(), and operator=().

Referenced by MESH(), and operator=().

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS