Functions | |
static SUPPORT * | MEDMEM::GMESH::mergeSupports (const std::vector< SUPPORT * > Supports) throw (MEDEXCEPTION) |
static SUPPORT * | MEDMEM::GMESH::intersectSupports (const std::vector< SUPPORT * > Supports) throw (MEDEXCEPTION) |
virtual SUPPORT * | MEDMEM::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 SUPPORT * | MEDMEM::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 |
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.
|
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().
|
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().
|
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.
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). |
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().
|
virtual |
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, MEDMEM::FIELD< T, INTERLACING_TAG >::getArrayNoGauss(), MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::GMESH::getCoordinatesUnits(), MEDMEM::MESH::getGlobalNumberingIndex(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::GMESH::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().
|
virtual |
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.
Implements MEDMEM::GMESH.
References MEDMEM::MESH::_connectivity, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::MESH::getGlobalNumberingIndex(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::GMESH::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().
|
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().
|
virtual |
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, MEDMEM::MESH::getConnectivity(), 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(), 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().
|
virtual |
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, MEDMEM::MESH::getConnectivity(), MEDMEM::MESH::getConnectivityIndex(), MEDMEM::MESH::getCoordinates(), MEDMEM::GMESH::getCoordinatesNames(), MEDMEM::GMESH::getCoordinatesUnits(), MEDMEM::MESH::getGlobalNumberingIndex(), MEDMEM::FIELD< T, INTERLACING_TAG >::getNumberOfElements(), MEDMEM::GMESH::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 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.
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 | ) |
References MEDMEM::GMESH::_spaceDimension, and INTERP_KERNEL::PointLocator.
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().
|
virtual |
Implements MEDMEM::GMESH.
References MEDMEM::MESH::_coordinate, and MEDMEM::GMESH::_spaceDimension.