Version: 6.3.1
Functions

MESH Advanced features

Functions

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 ()
 Converts MED_CELL connectivity to polyhedra connectivity Converts MED_FACE connectivity to polygon connectivity Wil work only for 3D meshes with nodal connectivity.
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 * MESH::getBoundaryElements ( MED_EN::medEntityMesh  Entity) const throw (MEDEXCEPTION) [virtual, inherited]

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, BEGIN_OF_MED, MEDMEM.GMESH.buildSupportOnElementsFromElementList(), MEDMEM.MESH.buildSupportOnNodeFromElementList(), MEDMEM.CONNECTIVITY.calculateFullDescendingConnectivity(), MEDMEM.MESH.getNumberOfElements(), MEDMEM.MESH.getReverseConnectivity(), MEDMEM.MESH.getReverseConnectivityIndex(), LOCALIZED, MED_EN.MED_ALL_ELEMENTS, MED_EN.MED_CELL, MED_EN.MED_DESCENDING, MED_EN.MED_EDGE, MED_EN.MED_FACE, and MED_EN.MED_NODE.

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

Retrieves the volume of all the elements contained in Support. This method returns a FIELD structure based on this support. It only works on MED_CELL for 3D meshes.

Implements MEDMEM.GMESH.

References MEDMEM.MESH._connectivity, BEGIN_OF_MED, INTERP_KERNEL.calculateBarycenterDyn(), INTERP_KERNEL.calculateVolumeForHexa(), INTERP_KERNEL.calculateVolumeForPenta(), INTERP_KERNEL.calculateVolumeForPolyh(), INTERP_KERNEL.calculateVolumeForPolyhAbs(), INTERP_KERNEL.calculateVolumeForPyra(), INTERP_KERNEL.calculateVolumeForTetra(), medClient_test.connectivity, MEDMEM.FIELD< T, INTERLACING_TAG >.getArrayNoGauss(), MEDMEM.MESH.getConnectivity(), MEDMEM.MESH.getConnectivityIndex(), MEDMEM.MESH.getCoordinates(), MEDMEM.GMESH.getCoordinatesUnits(), MEDMEM.MESH.getGlobalNumberingIndex(), MEDMEM.CONNECTIVITY.getNodesOfPolyhedron(), MEDMEM.CONNECTIVITY.getNodesPerFaceOfPolyhedron(), MEDMEM.FIELD< T, INTERLACING_TAG >.getNumberOfElements(), MEDMEM.GMESH.getSpaceDimension(), medClient_test.index, LOCALIZED, MED_EN.MED_ALL_ELEMENTS, MED_EN.MED_FULL_INTERLACE, MED_EN.MED_HEXA20, MED_EN.MED_HEXA8, MED_EN.MED_NODAL, MED_EN.MED_PENTA15, MED_EN.MED_PENTA6, MED_EN.MED_POLYHEDRA, MED_EN.MED_PYRA13, MED_EN.MED_PYRA5, MED_EN.MED_TETRA10, MED_EN.MED_TETRA4, nodes, MEDMEM.FIELD_.setComponentDescription(), MEDMEM.FIELD_.setComponentName(), MEDMEM.FIELD_.setDescription(), MEDMEM.FIELD_.setIterationNumber(), MEDMEM.FIELD_.setMEDComponentUnit(), MEDMEM.FIELD_.setName(), MEDMEM.FIELD_.setOrderNumber(), MEDMEM.FIELD_.setTime(), medClient_test.type, medClient_test.types, and med_test1.volume.

FIELD< double, FullInterlace > * MESH::getArea ( const SUPPORT Support) const throw (MEDEXCEPTION) [virtual, inherited]
FIELD< double, FullInterlace > * MESH::getLength ( const SUPPORT Support) const throw (MEDEXCEPTION) [virtual, inherited]
FIELD< double, FullInterlace > * MESH::getNormal ( const SUPPORT Support) const throw (MEDEXCEPTION) [virtual, inherited]

Retrieves the normal for all elements contained in SUPPORT Support. The method is only functional for 2D supports for 3D meshes and 1D supports for 2D meshes. It returns a FIELD for which the number of components is equal to the dimension of the mesh and which represents coordinates of the vector normal to the element. The direction of the vector is undetermined.

Implements MEDMEM.GMESH.

References MEDMEM.MESH._connectivity, BEGIN_OF_MED, INTERP_KERNEL.calculateNormalForPolyg(), INTERP_KERNEL.calculateNormalForQuad(), INTERP_KERNEL.calculateNormalForTria(), medClient_test.connectivity, END_OF_MED, MEDMEM.CONNECTIVITY.getConnectivity(), MEDMEM.MESH.getConnectivity(), MEDMEM.CONNECTIVITY.getConnectivityIndex(), MEDMEM.MESH.getConnectivityIndex(), MEDMEM.MESH.getCoordinates(), MEDMEM.MESH.getGlobalNumberingIndex(), MEDMEM.MESH.getMeshDimension(), MEDMEM.FIELD< T, INTERLACING_TAG >.getNumberOfElements(), MEDMEM.GMESH.getSpaceDimension(), MEDMEM.FIELD< T, INTERLACING_TAG >.getValue(), medClient_test.index, LOCALIZED, MED_EN.MED_ALL_ELEMENTS, MED_EN.MED_CELL, MED_EN.MED_EDGE, MED_EN.MED_FACE, MED_EN.MED_FULL_INTERLACE, MED_EN.MED_NODAL, MED_NONOR, MED_NOPDT, MED_EN.MED_POLYGON, MED_EN.MED_POLYHEDRA, MED_EN.MED_QUAD4, MED_EN.MED_QUAD8, MED_EN.MED_SEG2, MED_EN.MED_SEG3, MED_EN.MED_TRIA3, MED_EN.MED_TRIA6, medutilities.mesh_dim, med_test1.normal, MEDMEM.FIELD_.setComponentDescription(), MEDMEM.FIELD_.setComponentName(), MEDMEM.FIELD_.setDescription(), MEDMEM.FIELD_.setIterationNumber(), MEDMEM.FIELD_.setMEDComponentUnit(), MEDMEM.FIELD_.setName(), MEDMEM.FIELD_.setOrderNumber(), MEDMEM.FIELD_.setTime(), test_NonCoincidentDEC.size, medClient_test.type, medClient_test.types, TestMedCorba2.x1, and TestMedCorba2.x2.

FIELD< double, FullInterlace > * MESH::getBarycenter ( const SUPPORT Support) const throw (MEDEXCEPTION) [virtual, inherited]

Returns the barycenter for each element in the support. The barycenter positions are returned as a field with a number of components equal to the mesh dimension. The barycenter computed by this method is actually the barycenter of the set of nodes of the elements, each having the same weight.

Implements MEDMEM.GMESH.

References MEDMEM.MESH._connectivity, med_test1.barycenter, INTERP_KERNEL.calculateBarycenterDyn(), medClient_test.connectivity, MEDMEM.CONNECTIVITY.getConnectivity(), MEDMEM.MESH.getConnectivity(), MEDMEM.CONNECTIVITY.getConnectivityIndex(), MEDMEM.MESH.getConnectivityIndex(), MEDMEM.MESH.getCoordinates(), MEDMEM.GMESH.getCoordinatesNames(), MEDMEM.GMESH.getCoordinatesUnits(), MEDMEM.MESH.getGlobalNumberingIndex(), MEDMEM.CONNECTIVITY.getNodesOfPolyhedron(), MEDMEM.FIELD< T, INTERLACING_TAG >.getNumberOfElements(), MEDMEM.GMESH.getSpaceDimension(), MEDMEM.FIELD< T, INTERLACING_TAG >.getValue(), medClient_test.index, medClient_test.kp1, LOCALIZED, MED_EN.MED_ALL_ELEMENTS, MED_EN.MED_FULL_INTERLACE, MED_EN.MED_HEXA20, MED_EN.MED_HEXA8, MED_EN.MED_NODAL, MED_EN.MED_PENTA15, MED_EN.MED_PENTA6, MED_EN.MED_POLYGON, MED_EN.MED_POLYHEDRA, MED_EN.MED_PYRA13, MED_EN.MED_PYRA5, MED_EN.MED_QUAD4, MED_EN.MED_QUAD8, MED_EN.MED_SEG2, MED_EN.MED_SEG3, MED_EN.MED_TETRA10, MED_EN.MED_TETRA4, MED_EN.MED_TRIA3, MED_EN.MED_TRIA6, nodes, MEDMEM.FIELD_.setComponentDescription(), MEDMEM.FIELD_.setComponentName(), MEDMEM.FIELD_.setDescription(), MEDMEM.FIELD_.setIterationNumber(), MEDMEM.FIELD_.setMEDComponentUnit(), MEDMEM.FIELD_.setName(), MEDMEM.FIELD_.setOrderNumber(), MEDMEM.FIELD_.setTime(), test_NonCoincidentDEC.size, medClient_test.type, and medClient_test.types.

SUPPORT * MESH::getSkin ( const SUPPORT Support3D) throw (MEDEXCEPTION) [virtual, inherited]
int MESH::getElementContainingPoint ( const double coord) [inherited]
void MESH::convertToPoly ( ) [inherited]
vector< vector< double > > MESH::getBoundingBox ( ) const [virtual, inherited]
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