Salome HOME
New references checked for PYRA5 due to modification of shape function in fd8dbd34764...
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingUMesh_intersection.cxx
index 0c02602323b5b9f5506b6dde597c53f239aaf967..16677a3d4264224ac013dfb1c83d4ef55af19686 100644 (file)
@@ -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)