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
ménage
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_Hexa_3D.cxx
diff --git
a/src/StdMeshers/StdMeshers_Hexa_3D.cxx
b/src/StdMeshers/StdMeshers_Hexa_3D.cxx
index 26b22cae1347584cda6e05236a05bfb0ad78f474..826552fceee0cef840421e59ed3b57fe88ec87ce 100644
(file)
--- a/
src/StdMeshers/StdMeshers_Hexa_3D.cxx
+++ b/
src/StdMeshers/StdMeshers_Hexa_3D.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-202
0
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-202
1
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
@@
-55,6
+55,7
@@
#include "Utils_ExceptHandlers.hxx"
#include <cstddef>
#include "Utils_ExceptHandlers.hxx"
#include <cstddef>
+#include <numeric>
typedef SMESH_Comment TComm;
typedef SMESH_Comment TComm;
@@
-824,23
+825,22
@@
bool StdMeshers_Hexa_3D::Compute(SMESH_Mesh & aMesh,
pointsOnShapes[ SMESH_Block::ID_V111 ] = fTop->GetXYZ( X, Y );
gp_XYZ params; // normalized parameters of an internal node within the unit box
pointsOnShapes[ SMESH_Block::ID_V111 ] = fTop->GetXYZ( X, Y );
gp_XYZ params; // normalized parameters of an internal node within the unit box
- for ( x = 0; x < xSize; ++x )
+
+ if ( toRenumber )
+ for ( y = 0; y < ySize; ++y )
+ {
+ vector< const SMDS_MeshNode* >& column0y = columns[ colIndex( 0, y )];
+ for ( z = 0; z < zSize; ++z )
+ renumHelper.AddReplacingNode( column0y[ z ] );
+ }
+
+ for ( x = 1; x < xSize-1; ++x )
{
if ( toRenumber )
{
vector< const SMDS_MeshNode* >& columnX0 = columns[ colIndex( x, 0 )];
for ( z = 0; z < zSize; ++z )
renumHelper.AddReplacingNode( columnX0[ z ] );
{
if ( toRenumber )
{
vector< const SMDS_MeshNode* >& columnX0 = columns[ colIndex( x, 0 )];
for ( z = 0; z < zSize; ++z )
renumHelper.AddReplacingNode( columnX0[ z ] );
- if ( x == 0 || x == X )
- {
- for ( y = 1; y < ySize; ++y )
- {
- vector< const SMDS_MeshNode* >& column0Y = columns[ colIndex( x, y )];
- for ( z = 0; z < zSize; ++z )
- renumHelper.AddReplacingNode( column0Y[ z ] );
- }
- continue;
- }
}
const double rX = x / double(X);
}
const double rX = x / double(X);
@@
-912,6
+912,14
@@
bool StdMeshers_Hexa_3D::Compute(SMESH_Mesh & aMesh,
}
} // x loop
}
} // x loop
+ if ( toRenumber )
+ for ( y = 0; y < ySize; ++y )
+ {
+ vector< const SMDS_MeshNode* >& columnXy = columns[ colIndex( X, y )];
+ for ( z = 0; z < zSize; ++z )
+ renumHelper.AddReplacingNode( columnXy[ z ] );
+ }
+
// side data no more needed, free memory
for ( int i = 0; i < 6; ++i )
SMESHUtils::FreeVector( aCubeSide[i]._columns );
// side data no more needed, free memory
for ( int i = 0; i < 6; ++i )
SMESHUtils::FreeVector( aCubeSide[i]._columns );
@@
-1118,7
+1126,7
@@
bool StdMeshers_Hexa_3D::IsApplicable( const TopoDS_Shape & aShape, bool toCheck
if ( !toCheckAll && ok ) return true;
}
return toCheckAll;
if ( !toCheckAll && ok ) return true;
}
return toCheckAll;
-}
;
+}
//=======================================================================
//function : ComputePentahedralMesh
//=======================================================================
//function : ComputePentahedralMesh