X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Cartesian_3D.cxx;h=aebd779eea189c77019b1ac01a7b7bc6ea636687;hb=86ca5611705a674ccb26c7ea2176cf518bec24f5;hp=b896de3b62f0ec672de68392e88335d9d0305fc5;hpb=5482b99d07dd144fd5be299e722f39a81de3b5be;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx index b896de3b6..aebd779ee 100644 --- a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx +++ b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -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 #include #include +#include #include #include #include @@ -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; @@ -3046,24 +3056,24 @@ namespace else if ( eMidOut != edges.end() ) edges.splice( edges.end(), edges, edges.begin(), eMidOut ); - // sort nodes accoring to the order of edges + // sort nodes according to the order of edges _Node* orderNodes [20]; - TGeomID orderShapeIDs[20]; + //TGeomID orderShapeIDs[20]; size_t nbN = 0; - TGeomID id, *pID; + TGeomID id, *pID = 0; for ( e = edges.begin(); e != edges.end(); ++e ) { 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; } @@ -3157,7 +3167,7 @@ namespace const F_IntersectPoint* firstIntPnt = 0; if ( link._nodes[0]->Node() ) // 1st node is a hexa corner { - curIntPnt._paramOnLine = coords[ ijk[ iDir ]] - coords[0]; + curIntPnt._paramOnLine = coords[ ijk[ iDir ]] - coords[0] + _grid->_tol; const GridLine& line = _grid->_lines[ iDir ][ lineIndex[ iL ]]; multiset< F_IntersectPoint >::const_iterator ip = line._intPoints.upper_bound( curIntPnt );