X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingUMesh_intersection.cxx;h=16677a3d4264224ac013dfb1c83d4ef55af19686;hb=1062fa0bd4e00e0ad3ffbb3306de74cd0226df1d;hp=0c02602323b5b9f5506b6dde597c53f239aaf967;hpb=b33408f1dc045a4d0f2e16d22f4930d7029996a3;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingUMesh_intersection.cxx b/src/MEDCoupling/MEDCouplingUMesh_intersection.cxx index 0c0260232..16677a3d4 100644 --- a/src/MEDCoupling/MEDCouplingUMesh_intersection.cxx +++ b/src/MEDCoupling/MEDCouplingUMesh_intersection.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2021 CEA/DEN, EDF R&D +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -1127,7 +1127,7 @@ MEDCouplingUMesh *BuildMesh2DCutInternal(double eps, MEDCouplingUMesh *splitMesh if (i < nbCellsInSplitMesh1D-1) { // Build circular permutation to shift consecutive edges together - renumb->iota(i+1); + renumb->iota(nbCellsInSplitMesh1D-1-i); renumb->applyModulus(nbCellsInSplitMesh1D); splitMesh1D->renumberCells(renumbP, false); cSplitPtr = splitMesh1D->getNodalConnectivity()->begin(); @@ -2336,6 +2336,9 @@ void MEDCouplingUMesh::ReplaceEdgeInFace(const mcIdType * sIdxConn, const mcIdTy * This method expects that all nodes in \a this are not closer than \a eps. * If it is not the case you can invoke MEDCouplingUMesh::mergeNodes before calling this method. * + * \b WARNING this method only works for 'partition-like' non-conformities. When joining adjacent faces, the set of all small faces must fit exactly into the + * neighboring bigger face. No real face intersection is actually computed. + * * \param [in] eps the relative error to detect merged edges. * \return DataArrayIdType * - The list of cellIds in \a this that have been subdivided. If empty, nothing changed in \a this (as if it were a const method). The array is a newly allocated array * that the user is expected to deal with. @@ -2343,6 +2346,7 @@ void MEDCouplingUMesh::ReplaceEdgeInFace(const mcIdType * sIdxConn, const mcIdTy * \throw If \a this is not coherent. * \throw If \a this has not spaceDim equal to 3. * \throw If \a this has not meshDim equal to 3. + * \throw If the 'partition-like' condition described above is not respected. * \sa MEDCouplingUMesh::mergeNodes, MEDCouplingUMesh::conformize2D, MEDCouplingUMesh::convertAllToPoly() */ DataArrayIdType *MEDCouplingUMesh::conformize3D(double eps)