X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Cartesian_3D.cxx;h=138755ab0cb2241ce601cb69bfc2ddb06268ea19;hb=41b3e4433388f439856c3b0bb3725e9c81179c24;hp=749236780869080a8152e511ce775ceac856c21f;hpb=7eda9ca931ed2a11cb5e4637e4ffe19f5c061115;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx index 749236780..138755ab0 100644 --- a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx +++ b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx @@ -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; @@ -3048,22 +3058,22 @@ 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; + 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 );