Med Memory Users' Guide 5.1.3
|
Functions | |
virtual SUPPORT * | MEDMEM::MESH::getBoundaryElements (MED_EN::medEntityMesh Entity) 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) |
SUPPORT * | MEDMEM::MESH::getSkin (const SUPPORT *Support3D) throw (MEDEXCEPTION) |
static SUPPORT * | MEDMEM::MESH::mergeSupports (const vector< SUPPORT * > Supports) throw (MEDEXCEPTION) |
static SUPPORT * | MEDMEM::MESH::intersectSupports (const vector< SUPPORT * > Supports) throw (MEDEXCEPTION) |
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.
SUPPORT * MESH::getBoundaryElements | ( | MED_EN::medEntityMesh | Entity | ) | 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.
Entity | entity 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). |
References MEDMEM::MESH::_connectivity, MEDMEM::MESH::_spaceDimension, MEDMEM::MESH::buildSupportOnElementsFromElementList(), MEDMEM::MESH::buildSupportOnNodeFromElementList(), MEDMEM::MESH::getNumberOfElementsWithPoly(), MEDMEM::MESH::getReverseConnectivity(), and MEDMEM::MESH::getReverseConnectivityIndex().
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.
References MEDMEM::MESH::_connectivity, MEDMEM::FIELD< T, INTERLACING_TAG >::getArrayNoGauss(), MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getCoordinatesUnits(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::MESH::getSpaceDimension(), MEDMEM::FIELD_::setComponentDescription(), MEDMEM::FIELD_::setComponentName(), MEDMEM::FIELD_::setDescription(), MEDMEM::FIELD_::setIterationNumber(), MEDMEM::FIELD_::setMEDComponentUnit(), MEDMEM::FIELD_::setName(), MEDMEM::FIELD_::setOrderNumber(), and MEDMEM::FIELD_::setTime().
Referenced by MEDMEM::FIELD_::_getFieldSize().
FIELD< double, FullInterlace > * MESH::getArea | ( | const SUPPORT * | Support | ) | const throw (MEDEXCEPTION) [virtual, inherited] |
Retrieves the area of all the elements contained in Support. This method returns a FIELD structure based on this support. It only works on MED_CELL for 2D meshes or MED_FACE for 3D meshes.
References MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::MESH::getPolygonsConnectivity(), MEDMEM::MESH::getPolygonsConnectivityIndex(), MEDMEM::MESH::getSpaceDimension(), MEDMEM::FIELD< T, INTERLACING_TAG >::getValue(), MEDMEM::FIELD_::setComponentDescription(), MEDMEM::FIELD_::setComponentName(), MEDMEM::FIELD_::setDescription(), MEDMEM::FIELD_::setIterationNumber(), MEDMEM::FIELD_::setMEDComponentUnit(), MEDMEM::FIELD_::setName(), MEDMEM::FIELD_::setOrderNumber(), and MEDMEM::FIELD_::setTime().
Referenced by MEDMEM::FIELD_::_getFieldSize().
FIELD< double, FullInterlace > * MESH::getLength | ( | const SUPPORT * | Support | ) | const throw (MEDEXCEPTION) [virtual, inherited] |
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.
References MEDMEM::FIELD< T, INTERLACING_TAG >::getArrayNoGauss(), MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::MESH::getNumberOfElements(), and MEDMEM::MESH::getSpaceDimension().
Referenced by MEDMEM::FIELD_::_getFieldSize().
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.
References MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getMeshDimension(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::MESH::getPolygonsConnectivity(), MEDMEM::MESH::getPolygonsConnectivityIndex(), MEDMEM::MESH::getSpaceDimension(), MEDMEM::FIELD< T, INTERLACING_TAG >::getValue(), MED_NONOR, MED_NOPDT, MEDMEM::FIELD_::setComponentDescription(), MEDMEM::FIELD_::setComponentName(), MEDMEM::FIELD_::setDescription(), MEDMEM::FIELD_::setIterationNumber(), MEDMEM::FIELD_::setMEDComponentUnit(), MEDMEM::FIELD_::setName(), MEDMEM::FIELD_::setOrderNumber(), and MEDMEM::FIELD_::setTime().
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.
References MEDMEM::MESH::_connectivity, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getCoordinatesNames(), MEDMEM::MESH::getCoordinatesUnits(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::MESH::getPolygonsConnectivity(), MEDMEM::MESH::getPolygonsConnectivityIndex(), MEDMEM::MESH::getSpaceDimension(), MEDMEM::FIELD< T, INTERLACING_TAG >::getValue(), MEDMEM::FIELD_::setComponentDescription(), MEDMEM::FIELD_::setComponentName(), MEDMEM::FIELD_::setDescription(), MEDMEM::FIELD_::setIterationNumber(), MEDMEM::FIELD_::setMEDComponentUnit(), MEDMEM::FIELD_::setName(), MEDMEM::FIELD_::setOrderNumber(), and MEDMEM::FIELD_::setTime().
Referenced by MEDMEM::FIELD< T, INTERLACING_TAG >::fillFromAnalytic(), and ParaMEDMEM::NonCoincidentDEC::synchronize().
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.
References MEDMEM::MESH::_connectivity, MEDMEM::MESH::_meshDimension, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getElementType(), MEDMEM::MESH::getNumberOfElements(), MEDMEM::MESH::getNumberOfTypes(), MEDMEM::MESH::getReverseConnectivity(), MEDMEM::MESH::getReverseConnectivityIndex(), MEDMEM::MESH::getTypes(), MEDMEM::SUPPORT::setAll(), MEDMEM::SUPPORT::setGeometricType(), MEDMEM::SUPPORT::setNumber(), MEDMEM::SUPPORT::setNumberOfElements(), and MEDMEM::SUPPORT::setNumberOfGeometricType().
SUPPORT * MESH::mergeSupports | ( | const vector< SUPPORT * > | Supports | ) | throw (MEDEXCEPTION) [static, inherited] |
returns a SUPPORT pointer on the union of all SUPPORTs in Supports. You should delete this pointer after use to avois memory leaks.
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(), MEDMEM::MESH::getDescription(), and MEDMEM::MESH::getName().
SUPPORT * MESH::intersectSupports | ( | const vector< SUPPORT * > | Supports | ) | throw (MEDEXCEPTION) [static, inherited] |
returns 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.
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::MESH::getDescription(), MEDMEM::MESH::getName(), and MEDMEM::SUPPORT::intersecting().