Version: 6.5.0
Functions
MESH Advanced features

Functions

static SUPPORTMEDMEM::GMESH::mergeSupports (const std::vector< SUPPORT * > Supports) throw (MEDEXCEPTION)
static SUPPORTMEDMEM::GMESH::intersectSupports (const std::vector< SUPPORT * > Supports) throw (MEDEXCEPTION)
virtual SUPPORTMEDMEM::MESH::getBoundaryElements (MED_EN::medEntityMesh Entity) const throw (MEDEXCEPTION)
virtual FIELD< double > * MEDMEM::MESH::getVolume (const SUPPORT *Support, bool isAbs=true) const throw (MEDEXCEPTION)
virtual FIELD< double > * MEDMEM::MESH::getArea (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual FIELD< double > * MEDMEM::MESH::getLength (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual FIELD< double > * MEDMEM::MESH::getNormal (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual FIELD< double > * MEDMEM::MESH::getBarycenter (const SUPPORT *Support) const throw (MEDEXCEPTION)
virtual SUPPORTMEDMEM::MESH::getSkin (const SUPPORT *Support3D) throw (MEDEXCEPTION)
int MEDMEM::MESH::getElementContainingPoint (const double *coord)
void MEDMEM::MESH::convertToPoly ()
vector< vector< double > > MEDMEM::MESH::getBoundingBox () const

Detailed Description

These functions provide access to high-level manipulation of the meshes, giving information about the cells or extracting supports from the mesh.

The methods described in this section are algorithms that perform a computation and return a result in the form of a SUPPORT or a FIELD to the user. For large meshes, as the returned information is not stored in the mesh but is rather computed, the computation time can be large.

Function Documentation

SUPPORT * GMESH::mergeSupports ( const std::vector< SUPPORT * >  Supports) throw (MEDEXCEPTION)
static

Return a SUPPORT pointer on the union of all SUPPORTs in Supports. You should delete this pointer after use to avoid memory leaks.

References MEDMEM::SUPPORT::blending().

SUPPORT * GMESH::intersectSupports ( const std::vector< SUPPORT * >  Supports) throw (MEDEXCEPTION)
static

return a SUPPORT pointer on the intersection of all SUPPORTs in Supports. The (SUPPORT *) NULL pointer is returned if the intersection is empty. You should delete this pointer after use to avois memory leaks.

References MEDMEM::SUPPORT::intersecting().

SUPPORT * MESH::getBoundaryElements ( MED_EN::medEntityMesh  Entity) const throw (MEDEXCEPTION)
virtual

Returns a support which reference all elements on the boundary of mesh. For a d-dimensional mesh, a boundary element is defined as a d-1 dimension element that is referenced by only one element in the full descending connectivity.

This method can also return the list of nodes that belong to the boundary elements.

WARNING: This method can recalculate descending connectivity from partial to full form, so that partial SUPPORT on d-1 dimension elements becomes invalid.

Parameters
Entityentity on which the boundary is desired. It has to be either MED_NODE or the d-1 dimension entity type (MED_FACE in 3D, MED_EDGE in 2D).

Implements MEDMEM::GMESH.

References MEDMEM::MESH::_connectivity, MEDMEM::GMESH::_spaceDimension, MEDMEM::GMESH::buildSupportOnElementsFromElementList(), MEDMEM::MESH::buildSupportOnNodeFromElementList(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::MESH::getReverseConnectivity(), and MEDMEM::MESH::getReverseConnectivityIndex().

FIELD< double, FullInterlace > * MESH::getVolume ( const SUPPORT Support,
bool  isAbs = true 
) const throw (MEDEXCEPTION)
virtual
FIELD< double, FullInterlace > * MESH::getArea ( const SUPPORT Support) const throw (MEDEXCEPTION)
virtual
FIELD< double, FullInterlace > * MESH::getLength ( const SUPPORT Support) const throw (MEDEXCEPTION)
virtual

Retrieves the length of all the elements contained in Support. This method returns a FIELD structure based on this support. It only works on MED_EDGE supports.

Implements MEDMEM::GMESH.

References MEDMEM::FIELD< T, INTERLACING_TAG >::getArrayNoGauss(), MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), and MEDMEM::GMESH::getSpaceDimension().

FIELD< double, FullInterlace > * MESH::getNormal ( const SUPPORT Support) const throw (MEDEXCEPTION)
virtual
FIELD< double, FullInterlace > * MESH::getBarycenter ( const SUPPORT Support) const throw (MEDEXCEPTION)
virtual
SUPPORT * MESH::getSkin ( const SUPPORT Support3D) throw (MEDEXCEPTION)
virtual

Retrieves the skin of support Support3D. This method is only available in 3D. On output, it returns a MED_FACE support with the skin of all elements contained in support. The skin is defined as the list of faces that are compnents of only one volume in the input support.

WARNING: This method can recalculate descending connectivity from partial to full form, so that partial SUPPORT on MED_FACE on this mesh becomes invalid.

Implements MEDMEM::GMESH.

References MEDMEM::MESH::_connectivity, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getElementType(), MEDMEM::MESH::getMeshDimension(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::MESH::getNumberOfTypes(), MEDMEM::MESH::getReverseConnectivity(), MEDMEM::MESH::getReverseConnectivityIndex(), MEDMEM::MESH::getTypes(), MEDMEM::SUPPORT::setEntity(), MEDMEM::SUPPORT::setGeometricType(), MEDMEM::SUPPORT::setMesh(), MEDMEM::SUPPORT::setName(), MEDMEM::SUPPORT::setNumber(), MEDMEM::SUPPORT::setNumberOfElements(), and MEDMEM::SUPPORT::setNumberOfGeometricType().

int MESH::getElementContainingPoint ( const double *  coord)
void MESH::convertToPoly ( )

Converts MED_CELL connectivity to polyhedra connectivity Converts MED_FACE connectivity to polygon connectivity Wil work only for 3D meshes with nodal connectivity

References MEDMEM::MESH::_connectivity, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getGlobalNumberingIndex(), MEDMEM::MESH::getMeshDimension(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::MESH::getNumberOfNodes(), MEDMEM::MESH::getNumberOfTypes(), and MEDMEM::MESH::getTypes().

vector< vector< double > > MESH::getBoundingBox ( ) const
virtual
Copyright © 2007-2012 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