mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-03-15 22:21:28 +05:00
fix a bug of excess nodes creation w/o Renumber hypothesis
This commit is contained in:
parent
31c496eb37
commit
69360e2565
@ -824,23 +824,22 @@ bool StdMeshers_Hexa_3D::Compute(SMESH_Mesh & aMesh,
|
|||||||
pointsOnShapes[ SMESH_Block::ID_V111 ] = fTop->GetXYZ( X, Y );
|
pointsOnShapes[ SMESH_Block::ID_V111 ] = fTop->GetXYZ( X, Y );
|
||||||
|
|
||||||
gp_XYZ params; // normalized parameters of an internal node within the unit box
|
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 )
|
if ( toRenumber )
|
||||||
{
|
{
|
||||||
vector< const SMDS_MeshNode* >& columnX0 = columns[ colIndex( x, 0 )];
|
vector< const SMDS_MeshNode* >& columnX0 = columns[ colIndex( x, 0 )];
|
||||||
for ( z = 0; z < zSize; ++z )
|
for ( z = 0; z < zSize; ++z )
|
||||||
renumHelper.AddReplacingNode( columnX0[ 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 +911,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
|
// side data no more needed, free memory
|
||||||
for ( int i = 0; i < 6; ++i )
|
for ( int i = 0; i < 6; ++i )
|
||||||
SMESHUtils::FreeVector( aCubeSide[i]._columns );
|
SMESHUtils::FreeVector( aCubeSide[i]._columns );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user