Salome HOME
23304: [EDF 10304] Radial Quadrangle on ellipse
[modules/smesh.git] / src / StdMeshers / StdMeshers_Cartesian_3D.cxx
index adbeb5021b88d5a77407593c25436a747905f983..70fe2368d063191ccee137a29eb00ae13086bdc2 100644 (file)
@@ -25,6 +25,7 @@
 #include "StdMeshers_Cartesian_3D.hxx"
 
 #include "SMDS_MeshNode.hxx"
+#include "SMESHDS_Mesh.hxx"
 #include "SMESH_Block.hxx"
 #include "SMESH_Comment.hxx"
 #include "SMESH_Mesh.hxx"
@@ -73,6 +74,7 @@
 #include <TopExp.hxx>
 #include <TopExp_Explorer.hxx>
 #include <TopLoc_Location.hxx>
+#include <TopTools_IndexedMapOfShape.hxx>
 #include <TopTools_MapOfShape.hxx>
 #include <TopoDS.hxx>
 #include <TopoDS_Compound.hxx>
@@ -1369,7 +1371,11 @@ namespace
     }
     if ( surf->IsKind( STANDARD_TYPE(Geom_BSplineSurface )) ||
          surf->IsKind( STANDARD_TYPE(Geom_BezierSurface )))
+#if OCC_VERSION_MAJOR < 7
       if ( !noSafeTShapes.insert((const Standard_Transient*) _face.TShape() ).second )
+#else
+      if ( !noSafeTShapes.insert( _face.TShape().get() ).second )
+#endif
         isSafe = false;
 
     double f, l;
@@ -1409,7 +1415,11 @@ namespace
             edgeIsSafe = false;
         }
       }
+#if OCC_VERSION_MAJOR < 7
       if ( !edgeIsSafe && !noSafeTShapes.insert((const Standard_Transient*) e.TShape() ).second )
+#else
+      if ( !edgeIsSafe && !noSafeTShapes.insert( e.TShape().get() ).second )
+#endif
         isSafe = false;
     }
     return isSafe;
@@ -3048,7 +3058,7 @@ namespace
 
     // sort nodes accoring to the order of edges
     _Node*  orderNodes   [20];
-    TGeomID orderShapeIDs[20];
+    //TGeomID orderShapeIDs[20];
     size_t nbN = 0;
     TGeomID id, *pID = 0;
     for ( e = edges.begin(); e != edges.end(); ++e )
@@ -3056,14 +3066,14 @@ namespace
       if (( id = _grid->_shapes.FindIndex( SMESH_MesherHelper::IthVertex( 0, *e ))) &&
           (( pID = std::find( &nShapeIds[0], nShapeIdsEnd, id )) != nShapeIdsEnd ))
       {
-        orderShapeIDs[ nbN ] = id;
+        //orderShapeIDs[ nbN ] = id;
         orderNodes   [ nbN++ ] = nodes[ pID - &nShapeIds[0] ];
         *pID = -1;
       }
       if (( id = _grid->_shapes.FindIndex( *e )) &&
           (( pID = std::find( &nShapeIds[0], nShapeIdsEnd, id )) != nShapeIdsEnd ))
       {
-        orderShapeIDs[ nbN ] = id;
+        //orderShapeIDs[ nbN ] = id;
         orderNodes   [ nbN++ ] = nodes[ pID - &nShapeIds[0] ];
         *pID = -1;
       }