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
bos #20646 [CEA] Fix error in polyhedron per solid on pentahedron
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_PolyhedronPerSolid_3D.cxx
diff --git
a/src/StdMeshers/StdMeshers_PolyhedronPerSolid_3D.cxx
b/src/StdMeshers/StdMeshers_PolyhedronPerSolid_3D.cxx
index 6695eea7bc32ae6ac14e428602a5a509288de8a6..b8e1089589087033f005b863e0db28d077f3bc34 100644
(file)
--- a/
src/StdMeshers/StdMeshers_PolyhedronPerSolid_3D.cxx
+++ b/
src/StdMeshers/StdMeshers_PolyhedronPerSolid_3D.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
19
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
20
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
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-196,6
+196,9
@@
namespace
int iSide = trias[0] + 1;
if ( iSide == trias[1] )
++iSide;
int iSide = trias[0] + 1;
if ( iSide == trias[1] )
++iSide;
+ if (iSide == 5)
+ // use first side (otherwise, out of bounds)
+ iSide = 0;
const SMDS_MeshElement* botFace = faces[ trias[0]];
const SMDS_MeshElement* topFace = faces[ trias[1]];
const SMDS_MeshElement* botFace = faces[ trias[0]];
const SMDS_MeshElement* topFace = faces[ trias[1]];
@@
-296,10
+299,6
@@
namespace
if ( hexa[1] == -1 )
return newHexPrism;
if ( hexa[1] == -1 )
return newHexPrism;
- int iSide = hexa[0] + 1;
- if ( iSide == hexa[1] )
- ++iSide;
-
const SMDS_MeshElement* botFace = faces[ hexa[ 0 ]];
const SMDS_MeshElement* topFace = faces[ hexa[ 1 ]];
std::vector< const SMDS_MeshNode* > nodes( 24 ); // last 12 is a working buffer
const SMDS_MeshElement* botFace = faces[ hexa[ 0 ]];
const SMDS_MeshElement* topFace = faces[ hexa[ 1 ]];
std::vector< const SMDS_MeshNode* > nodes( 24 ); // last 12 is a working buffer