Salome HOME
merge V7_7_BR
authorPaul RASCLE <paul.rascle@edf.fr>
Mon, 1 Feb 2016 14:23:06 +0000 (15:23 +0100)
committerPaul RASCLE <paul.rascle@edf.fr>
Mon, 1 Feb 2016 14:23:06 +0000 (15:23 +0100)
doc/salome/gui/SMESH/images/quad_from_ma_mesh.png
src/SMESHUtils/SMESH_MAT2d.cxx

index 3e3c63b..f233cc6 100644 (file)
Binary files a/doc/salome/gui/SMESH/images/quad_from_ma_mesh.png and b/doc/salome/gui/SMESH/images/quad_from_ma_mesh.png differ
index 970d560..dc44514 100644 (file)
@@ -1890,6 +1890,27 @@ void SMESH_MAT2d::Branch::getOppositeGeomEdges( std::vector< std::size_t >& edge
   for ( size_t i = 0; i < _maEdges.size(); ++i )
     twins[i] = _maEdges[i]->twin();
 
+  // size_t lastConcaE1 = _boundary.nbEdges();
+  // size_t lastConcaE2 = _boundary.nbEdges();
+
+  BranchPoint divisionPnt;
+  divisionPnt._branch = this;
+
+  for ( size_t i = 0; i < _maEdges.size(); ++i )
+  {
+    size_t ie1 = getGeomEdge( _maEdges[i] );
+    size_t ie2 = getGeomEdge( _maEdges[i]->twin() );
+    
+    if ( edgeIDs1.back() != ie1 || edgeIDs2.back() != ie2 )
+    {
+      bool isConcaveV = false;
+      if ( edgeIDs1.back() != ie1 && edgeIDs2.back() == ie2 )
+      {
+        isConcaveV = addDivPntForConcaVertex( edgeIDs1, edgeIDs2, divPoints, _maEdges, twins, i );
+      }
+      if ( edgeIDs1.back() == ie1 && edgeIDs2.back() != ie2 )
+      {
+        isConcaveV = addDivPntForConcaVertex( edgeIDs2, edgeIDs1, divPoints, twins, _maEdges, i );
   BranchIterator maIter ( _maEdges, 0 );
   BranchIterator twIter ( twins, 0 );
   // size_t lastConcaE1 = _boundary.nbEdges();