Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix regression of doc/salome/examples/prism_3d_algo.py
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_CompositeHexa_3D.cxx
diff --git
a/src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx
b/src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx
index e59c60886e9b2b4a4b78638f312319d48f0e99b0..d80d072a928b1ff93f40043b8857f985d95e910a 100644
(file)
--- a/
src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx
+++ b/
src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
5
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
6
CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@
-28,6
+28,8
@@
#include "SMDS_Mesh.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMDS_SetIterator.hxx"
#include "SMDS_Mesh.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMDS_SetIterator.hxx"
+#include "SMESHDS_Mesh.hxx"
+#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_Block.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_ComputeError.hxx"
@@
-382,12
+384,12
@@
namespace
const TopTools_MapOfShape& cornerVV,
TopTools_MapOfShape& internEE)
{
const TopTools_MapOfShape& cornerVV,
TopTools_MapOfShape& internEE)
{
- TopTools_IndexedMapOfShape subEE
, subFF
;
+ TopTools_IndexedMapOfShape subEE;
TopExp::MapShapes( shape, TopAbs_EDGE, subEE );
TopExp::MapShapes( shape, TopAbs_EDGE, subEE );
- TopExp::MapShapes( shape, TopAbs_FACE, subFF );
+
//
TopExp::MapShapes( shape, TopAbs_FACE, subFF );
TopoDS_Vertex VV[2];
TopoDS_Vertex VV[2];
- TopTools_MapOfShape subChecked
/*, ridgeEE*/
;
+ TopTools_MapOfShape subChecked
, ridgeEE
;
TopTools_MapIteratorOfMapOfShape vIt( cornerVV );
for ( ; vIt.More(); vIt.Next() )
{
TopTools_MapIteratorOfMapOfShape vIt( cornerVV );
for ( ; vIt.More(); vIt.Next() )
{
@@
-401,6
+403,8
@@
namespace
TopoDS_Edge ridgeE = TopoDS::Edge( *riE );
while ( !ridgeE.IsNull() )
{
TopoDS_Edge ridgeE = TopoDS::Edge( *riE );
while ( !ridgeE.IsNull() )
{
+ if ( !ridgeEE.Add( ridgeE ))
+ break;
TopExp::Vertices( ridgeE, VV[0], VV[1] );
TopoDS_Shape V1 = VV[ V0.IsSame( VV[0] )];
if ( cornerVV.Contains( V1 ) )
TopExp::Vertices( ridgeE, VV[0], VV[1] );
TopoDS_Shape V1 = VV[ V0.IsSame( VV[0] )];
if ( cornerVV.Contains( V1 ) )
@@
-451,6
+455,11
@@
namespace
} // loop on ridge EDGEs around a corner VERTEX
} // loop on on corner VERTEXes
} // loop on ridge EDGEs around a corner VERTEX
} // loop on on corner VERTEXes
+ if ( subEE.Extent() > ridgeEE.Extent() + internEE.Extent() ) // PAL23269
+ for ( int i = 1; i < subEE.Extent(); ++i )
+ if ( !ridgeEE.Contains( subEE(i) ))
+ internEE.Add( subEE(i) );
+
return true;
} // getInternalEdges()
} // namespace
return true;
} // getInternalEdges()
} // namespace