Med Memory Users' Guide 5.1.3

MEDMEM::SUPPORT Class Reference

Collaboration diagram for MEDMEM::SUPPORT:

List of all members.

Public Member Functions

 SUPPORT ()
 SUPPORT (MESH *Mesh, string Name="", MED_EN::medEntityMesh Entity=MED_EN::MED_CELL)
 SUPPORT (const SUPPORT &m)
virtual ~SUPPORT ()
SUPPORToperator= (const SUPPORT &support)
bool operator== (const SUPPORT &support) const
bool deepCompare (const SUPPORT &support) const
void update ()
void setName (string Name)
void setDescription (string Description)
void setMesh (MESH *Mesh) const
void setMeshDirectly (MESH *Mesh) const
void setMeshName (const string &meshName)
void setAll (bool All)
void setEntity (MED_EN::medEntityMesh Entity)
void setNumberOfGeometricType (int NumberOfGeometricType)
void setGeometricType (const MED_EN::medGeometryElement *GeometricType)
void setNumberOfElements (const int *NumberOfElements)
void setNumber (MEDSKYLINEARRAY *Number)
void setNumber (const int *index, const int *value, bool shallowCopy=false)
string getName () const
string getDescription () const
virtual MESHgetMesh () const
string getMeshName () const
MED_EN::medEntityMesh getEntity () const
bool isOnAllElements () const
int getNumberOfTypes () const
const MED_EN::medGeometryElement * getTypes () const
int getNumberOfElements (MED_EN::medGeometryElement GeometricType) const throw (MEDEXCEPTION)
const int * getNumberOfElements () const throw (MEDEXCEPTION)
virtual MEDSKYLINEARRAY * getnumber () const throw (MEDEXCEPTION)
virtual MEDSKYLINEARRAY * getnumberFromFile () const throw (MEDEXCEPTION)
virtual const int * getNumber (MED_EN::medGeometryElement GeometricType) const throw (MEDEXCEPTION)
virtual const int * getNumberFromFile (MED_EN::medGeometryElement GeometricType) const throw (MEDEXCEPTION)
virtual const int * getNumberIndex () const throw (MEDEXCEPTION)
virtual int getValIndFromGlobalNumber (const int number) const throw (MEDEXCEPTION)
void blending (SUPPORT *mySupport) throw (MEDEXCEPTION)
void setpartial (string Description, int NumberOfGeometricType, int TotalNumberOfEntity, MED_EN::medGeometryElement *GeometricType, const int *NumberOfEntity, const int *NumberValue)
void setpartial (MEDSKYLINEARRAY *number, bool shallowCopy=false) throw (MEDEXCEPTION)
void setpartial_fromfile (MEDSKYLINEARRAY *number, bool shallowCopy=false) throw (MEDEXCEPTION)
void setProfilNames (vector< string > profilNames) throw (MEDEXCEPTION)
vector< string > getProfilNames () const throw (MEDEXCEPTION)
void getBoundaryElements () throw (MEDEXCEPTION)
void changeElementsNbs (MED_EN::medEntityMesh entity, const int *renumberingFromOldToNew, int limitNbClassicPoly, const int *renumberingFromOldToNewPoly=0)
void intersecting (SUPPORT *mySupport) throw (MEDEXCEPTION)
bool belongsTo (const SUPPORT &other, bool deepCompare=false) const
SUPPORTgetComplement () const
SUPPORTsubstract (const SUPPORT &other) const throw (MEDEXCEPTION)
SUPPORTgetBoundaryElements (MED_EN::medEntityMesh Entity) const throw (MEDEXCEPTION)
void fillFromNodeList (const list< int > &listOfNode) throw (MEDEXCEPTION)
void fillFromElementList (const list< int > &listOfElt) throw (MEDEXCEPTION)
void clearDataOnNumbers ()
MESHmakeMesh ()
virtual void addReference () const
virtual void removeReference () const

Static Protected Member Functions

static list< int > * sub (int start, int end, const int *idsToSuppress, int lgthIdsToSuppress)
static list< int > * sub (const int *ids, int lgthIds, const int *idsToSuppress, int lgthIdsToSuppress)

Protected Attributes

string _name
string _meshName
string _description
MESH_mesh
MED_EN::medEntityMesh _entity
int _numberOfGeometricType
PointerOf
< MED_EN::medGeometryElement > 
_geometricType
bool _isOnAllElts
PointerOf< int > _numberOfElements
int _totalNumberOfElements
MEDSKYLINEARRAY * _number
MEDSKYLINEARRAY * _number_fromfile
vector< string > _profilNames

Friends

MEDMEM_EXPORT ostream & operator<< (ostream &os, const SUPPORT &my)

Detailed Description

This class describe a support of elements on an entity of the mesh.

It contains the list of meshes elements for an entity (MED_NODE, MED_CELL, MED_FACE or MED_EDGE).

Examples:

FIELDcreate.cxx.


Constructor & Destructor Documentation

SUPPORT::SUPPORT ( )

Constructor.

MEDMEM::SUPPORT::SUPPORT ( MESH Mesh,
string  Name = "",
MED_EN::medEntityMesh  Entity = MED_EN::MED_CELL 
)
SUPPORT::~SUPPORT ( ) [virtual]

Destructor.

References clearDataOnNumbers().


Member Function Documentation

bool MEDMEM::SUPPORT::operator== ( const SUPPORT support) const

operator == This operator does not compare attributs _name and _description.

bool MEDMEM::SUPPORT::deepCompare ( const SUPPORT support) const

operator == + in case false a test if coordinates and connectivity of _mesh and support->_mesh are the same

References _entity, _geometricType, _isOnAllElts, _mesh, _numberOfElements, _numberOfGeometricType, _totalNumberOfElements, and getNumber().

void SUPPORT::update ( )
void MEDMEM::SUPPORT::setName ( string  Name)

set the attribute _name to Name

Referenced by getComplement().

void MEDMEM::SUPPORT::setDescription ( string  Description)

set the attribute _description to Description

void SUPPORT::setMesh ( MESH Mesh) const

set the reference _mesh to Mesh

Referenced by getComplement(), and substract().

void MEDMEM::SUPPORT::setMeshDirectly ( MESH Mesh) const
void MEDMEM::SUPPORT::setMeshName ( const string &  meshName)

set the meshName if there is ni reference _mesh to Mesh

void MEDMEM::SUPPORT::setEntity ( MED_EN::medEntityMesh  Entity)

set the attribute _entity to Entity

Referenced by getComplement(), and substract().

void MEDMEM::SUPPORT::setNumberOfGeometricType ( int  NumberOfGeometricType)

set the attribute _numberOfGeometricType to NumberOfGeometricType

Referenced by getBoundaryElements(), and MEDMEM::MESH::getSkin().

void MEDMEM::SUPPORT::setGeometricType ( const MED_EN::medGeometryElement *  GeometricType)

set the attribute _geometricType to geometricType

Referenced by getBoundaryElements(), and MEDMEM::MESH::getSkin().

void MEDMEM::SUPPORT::setNumberOfElements ( const int *  NumberOfElements)

Set the attribute _numberOfElements to NumberOfElements and calculate the total number of elements.

Referenced by getBoundaryElements(), and MEDMEM::MESH::getSkin().

void MEDMEM::SUPPORT::setNumber ( MEDSKYLINEARRAY *  Number)

set the attribute _totalNumberOfElements to TotalNumberOfElements

set the attribute _number to Number

Referenced by MEDMEM::MESH::getSkin().

void MEDMEM::SUPPORT::setNumber ( const int *  index,
const int *  value,
bool  shallowCopy = false 
)

set the attribute _number with index and value arrays

string MEDMEM::SUPPORT::getName ( ) const

returns the name of the support.

Referenced by makeMesh(), and ParaMEDMEM::medmemSupportToFVMMesh().

string MEDMEM::SUPPORT::getDescription ( ) const

returns the description of the support.

MESH * MEDMEM::SUPPORT::getMesh ( ) const [virtual]
string SUPPORT::getMeshName ( ) const

returns the mesh name

References _mesh, _meshName, and MEDMEM::MESH::getName().

MED_EN::medEntityMesh MEDMEM::SUPPORT::getEntity ( ) const

Returns the medEntityMesh's type used by the support. Note : A support deals only with one entity's type (for example : MED_FACE or MED_NODE)

Referenced by MEDMEM::MED::addField(), and ParaMEDMEM::medmemSupportToFVMMesh().

bool MEDMEM::SUPPORT::isOnAllElements ( ) const

Returns true if all elements of this entity are concerned, false otherwise. If true, you must use mesh reference (getMesh) to get more information.

Referenced by ParaMEDMEM::medmemSupportToFVMMesh().

int MEDMEM::SUPPORT::getNumberOfTypes ( ) const

Returns number of geometric Types defines in the support

Referenced by ParaMEDMEM::medmemSupportToFVMMesh().

const MED_EN::medGeometryElement * MEDMEM::SUPPORT::getTypes ( ) const

If isOnAllElements is false, returns an array of medGeometryElement types used by the support.

Referenced by makeMesh(), and ParaMEDMEM::medmemSupportToFVMMesh().

int SUPPORT::getValIndFromGlobalNumber ( const int  number) const throw (MEDEXCEPTION) [virtual]

Get the field value index (in fortran mode) from the support global number. Becareful, it doesn't take care of the field number of components

void MEDMEM::SUPPORT::setpartial ( string  Description,
int  NumberOfGeometricType,
int  TotalNumberOfEntity,
MED_EN::medGeometryElement *  GeometricType,
const int *  NumberOfEntity,
const int *  NumberValue 
)
void SUPPORT::setpartial ( MEDSKYLINEARRAY *  number,
bool  shallowCopy = false 
) throw (MEDEXCEPTION)
void SUPPORT::setpartial_fromfile ( MEDSKYLINEARRAY *  number,
bool  shallowCopy = false 
) throw (MEDEXCEPTION)
void SUPPORT::setProfilNames ( vector< string >  profilNames) throw (MEDEXCEPTION)
vector< string > SUPPORT::getProfilNames ( ) const throw (MEDEXCEPTION)

References _profilNames.

void SUPPORT::changeElementsNbs ( MED_EN::medEntityMesh  entity,
const int *  renumberingFromOldToNew,
int  limitNbClassicPoly,
const int *  renumberingFromOldToNewPoly = 0 
)
bool MEDMEM::SUPPORT::belongsTo ( const SUPPORT other,
bool  deepCompare = false 
) const

States if this is included in other.

References _entity, _geometricType, _isOnAllElts, _mesh, _number, _numberOfElements, and _numberOfGeometricType.

SUPPORT * MEDMEM::SUPPORT::getComplement ( ) const

returns a new SUPPORT (responsability to caller to destroy it) that is the complement to "this", lying on the same entity than "this".

References getNumberOfElements(), setEntity(), setMesh(), and setName().

Referenced by substract().

SUPPORT * MEDMEM::SUPPORT::substract ( const SUPPORT other) const throw (MEDEXCEPTION)

returns a new support the user should delete.

References getComplement(), setEntity(), and setMesh().

SUPPORT* MEDMEM::SUPPORT::getBoundaryElements ( MED_EN::medEntityMesh  Entity) const throw (MEDEXCEPTION)
void MEDMEM::SUPPORT::fillFromNodeList ( const list< int > &  listOfNode) throw (MEDEXCEPTION)

Method that fills this and updates all its attributes in order to lye on the the listOfNode.

void MEDMEM::SUPPORT::fillFromElementList ( const list< int > &  listOfElt) throw (MEDEXCEPTION)
void MEDMEM::SUPPORT::clearDataOnNumbers ( )

Method that cleans up all the fields related to _numbers. Defined for code factorization.

Referenced by ~SUPPORT().

MESH * SUPPORT::makeMesh ( )

creates a MESH that contains only the elements in the current support.

SUPPORT_advanced

The output mesh has no group, nor elements of connectivity lesser than that of the present support. The method does not handle polygon or polyhedral elements. Nodes are renumbered so that they are numberd from 1 to N in the new mesh. The order of the elements in the new mesh corresponds to that of the elements in the original support.

References _entity, _isOnAllElts, _mesh, _numberOfElements, _numberOfGeometricType, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getConnectivityptr(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getCoordinatesNames(), MEDMEM::MESH::getCoordinatesSystem(), MEDMEM::MESH::getCoordinatesUnits(), MEDMEM::MESH::getGlobalNumberingIndex(), MEDMEM::MESH::getMeshDimension(), getName(), getNumber(), MEDMEM::MESH::getNumberOfElements(), getNumberOfElements(), MEDMEM::MESH::getNumberOfNodes(), MEDMEM::MESH::getPolygonsConnectivity(), MEDMEM::MESH::getPolygonsConnectivityIndex(), MEDMEM::MESH::getPolyhedronConnectivity(), MEDMEM::MESH::getPolyhedronFacesIndex(), MEDMEM::MESH::getPolyhedronIndex(), MEDMEM::MESH::getSpaceDimension(), MEDMEM::MESH::getTypes(), getTypes(), MEDMEM::MESHING::setConnectivity(), MEDMEM::MESHING::setCoordinates(), MEDMEM::MESHING::setCoordinatesNames(), MEDMEM::MESHING::setCoordinatesUnits(), MEDMEM::MESHING::setMeshDimension(), MEDMEM::MESH::setName(), MEDMEM::MESHING::setNumberOfElements(), MEDMEM::MESHING::setNumberOfTypes(), MEDMEM::MESHING::setPolygonsConnectivity(), MEDMEM::MESHING::setPolyhedraConnectivity(), MEDMEM::MESHING::setSpaceDimension(), and MEDMEM::MESHING::setTypes().

void MEDMEM::SUPPORT::addReference ( ) const [virtual]

addReference : reference counter presently disconnected in C++ -> just connected for client.

Referenced by MEDMEM::FIELD_::FIELD_(), and MEDMEM::FIELD_::setSupport().

void MEDMEM::SUPPORT::removeReference ( ) const [virtual]

removeReference : reference counter presently disconnected in C++ -> just connected for client.

list< int > * MEDMEM::SUPPORT::sub ( int  start,
int  end,
const int *  idsToSuppress,
int  lgthIdsToSuppress 
) [static, protected]

performs a common operation : Sub builds a sorted int array that is obtained by supression of all ids contained in array defined by (idsToSuppress,lgthIdsToSuppress) from array [start ... end] Example sub(0,7,{1,2,5},3) => {0,3,4,6,7} - WARNING returned list should be deallocated !

References compareId().

list< int > * MEDMEM::SUPPORT::sub ( const int *  ids,
int  lgthIds,
const int *  idsToSuppress,
int  lgthIdsToSuppress 
) [static, protected]

performs a common operation : Sub builds a sorted int array that is obtained by supression of all ids contained in array defined by (idsToSuppress,lgthIdsToSuppress) from array [start ... end] Example sub({1,3,4,5,6,7,9},7,{1,2,5},3) => {3,4,6,7,9} - WARNING returned list should be deallocated !

References compareId().


Friends And Related Function Documentation

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

Member Data Documentation

string MEDMEM::SUPPORT::_name [protected]

Referenced by operator=(), SUPPORT(), and update().

string MEDMEM::SUPPORT::_meshName [mutable, protected]

Referenced by getMeshName().

string MEDMEM::SUPPORT::_description [protected]

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

PointerOf<MED_EN::medGeometryElement> MEDMEM::SUPPORT::_geometricType [protected]
MEDSKYLINEARRAY* MEDMEM::SUPPORT::_number [mutable, protected]
MEDSKYLINEARRAY* MEDMEM::SUPPORT::_number_fromfile [mutable, protected]
vector< string > MEDMEM::SUPPORT::_profilNames [protected]

Referenced by getProfilNames(), operator=(), and SUPPORT().