From: bph Date: Tue, 30 Aug 2011 09:28:29 +0000 (+0000) Subject: doc interpolation 3D2D et 2D1D X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=32fcf243d3bdd15ca3bb2d4c60b77fe36ae4a233;p=tools%2Fmedcoupling.git doc interpolation 3D2D et 2D1D --- diff --git a/doc/doxygen/Doxyfile_med_user.in b/doc/doxygen/Doxyfile_med_user.in index db4a10990..0fb48dea0 100644 --- a/doc/doxygen/Doxyfile_med_user.in +++ b/doc/doxygen/Doxyfile_med_user.in @@ -97,6 +97,8 @@ FILE_PATTERNS = MEDMEM_GMesh.* \ NormalizedUnstructuredMesh.* \ Interpolation2D.* \ Interpolation3D.* \ + Interpolation2D1D.* \ + Interpolation3D2D.* \ Interpolation3DSurf.* \ InterpolationMatrix.* \ PlanarIntersector.* \ diff --git a/doc/doxygen/remapping.dox b/doc/doxygen/remapping.dox index 9c0d229f1..291b89f88 100755 --- a/doc/doxygen/remapping.dox +++ b/doc/doxygen/remapping.dox @@ -43,6 +43,18 @@ The following options are available for the 2D intersection computations: * PrintLevel Level of verboseness during the computations 0, 1, 2, 3 0 * +\section interpolation2D1D Special features of 2D linear/surface intersectors + +It is possible to get back the matrix of intersection segments in 2D +of a linear source mesh and a surface target mesh. +The corresponding intersector class is Planar2D1DIntersectorP0P0. +The limitations are: +- only P0->P0 intersection +- only geometric type Geometric2D + +It is possible to get back the linear source elements which are common +at least between two surface target elements. + \section interpolation3Dsurf Special features of 3D surface intersectors When remapping a three dimensional surfaces, one should give a meaning to the area of intersection between two three-dimensional non coplanar polygons. A projection phase is thus necessary to have both polygons on the same plane. Care must be taken when defining this projection to avoid non conservative remappings. After the projection step, the source and target cells lie in the same plane and the same algorithms as for 2D remapping can be employed. @@ -137,4 +149,18 @@ The use of the SPLIT_NODES_6 splitting policy would lead to a 6 tetrahedra decom 0, 7, 3, 6 \endverbatim + +\section interpolation3D2D Special features of 3D surface/volume intersectors + +It is possible to get back the matrix of intersection surfaces in 3D +of a surface source mesh and a volume target mesh. +The corresponding intersector class is Polyhedron3D2DIntersectorP0P0. +The limitations are: +- only P0->P0 intersection +- only geometric type Triangulation + +It is possible to get back the surface source elements which are +common at least between two volume target elements. + + */ diff --git a/src/INTERP_KERNEL/Interpolation3D2D.cxx b/src/INTERP_KERNEL/Interpolation3D2D.cxx index d29392342..d1b44dc28 100644 --- a/src/INTERP_KERNEL/Interpolation3D2D.cxx +++ b/src/INTERP_KERNEL/Interpolation3D2D.cxx @@ -22,9 +22,10 @@ namespace INTERP_KERNEL { /** - * \defgroup interpolation3D Interpolation3D - * \class Interpolation3D - * \brief Class used to calculate the volumes of intersection between the elements of two 3D meshes. + * \defgroup interpolation3D2D Interpolation3D2D + * \class Interpolation3D2D + * \brief Class used to calculate the surfaces of intersection between the elements of a 3D surface source mesh + * and a 3D volume target mesh. * */ /** diff --git a/src/INTERP_KERNEL/Interpolation3D2D.hxx b/src/INTERP_KERNEL/Interpolation3D2D.hxx index f68a3b672..dc5190c89 100644 --- a/src/INTERP_KERNEL/Interpolation3D2D.hxx +++ b/src/INTERP_KERNEL/Interpolation3D2D.hxx @@ -41,6 +41,14 @@ namespace INTERP_KERNEL const MyMeshType& targetMesh, MyMatrixType& matrix, const char *method); + /** + * Return the surface source elements which are common at least two target volume elements + + * @return return a map of pairs: the first pair element is the index of the surface source element + * which is common of at least two volume target elements + * the second pair element is a set of theses volume target elements + * + */ DuplicateFacesType retrieveDuplicateFaces() const { return _duplicate_faces; diff --git a/src/INTERP_KERNEL/Interpolation3D2D.txx b/src/INTERP_KERNEL/Interpolation3D2D.txx index 27ddb7e8f..8fdad8daa 100644 --- a/src/INTERP_KERNEL/Interpolation3D2D.txx +++ b/src/INTERP_KERNEL/Interpolation3D2D.txx @@ -39,10 +39,10 @@ namespace INTERP_KERNEL { /** - * Calculates the matrix of volumes of intersection between the elements of srcMesh and the elements of targetMesh. + * Calculates the matrix of surfaces of intersection between the elements of a surface srcMesh and the elements of a volume targetMesh. * The calculation is done in two steps. First a filtering process reduces the number of pairs of elements for which the * calculation must be carried out by eliminating pairs that do not intersect based on their bounding boxes. Then, the - * volume of intersection is calculated by an object of type Intersector3D for the remaining pairs, and entered into the + * surface of intersection is calculated by an object of type Intersector3D for the remaining pairs, and entered into the * intersection matrix. * * The matrix is partially sparse : it is a vector of maps of integer - double pairs. @@ -54,8 +54,8 @@ namespace INTERP_KERNEL * the indexing is more natural : the intersection volume of the target element i with source element j is found at matrix[i-1][j]. * - * @param srcMesh 3-dimensional source mesh - * @param targetMesh 3-dimesional target mesh, containing only tetraedra + * @param srcMesh 3-dimensional surface source mesh + * @param targetMesh 3-dimesional volume target mesh * @param matrix matrix in which the result is stored * */