mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0021765: EDF 2334 SMESH: ConvertToQuadratic with medium node on geometry generates bad elements
Enables fixing node parameters by helper + helper.ToFixNodeParameters( true );
This commit is contained in:
parent
6056cf7472
commit
9eedde53dd
@ -264,6 +264,8 @@ const vector<UVPtStruct>& StdMeshers_FaceSide::GetUVPtStruct(bool isXConst,
|
|||||||
SMDS_NodeIteratorPtr nItr = sm->GetNodes();
|
SMDS_NodeIteratorPtr nItr = sm->GetNodes();
|
||||||
double paramSize = myLast[i] - myFirst[i];
|
double paramSize = myLast[i] - myFirst[i];
|
||||||
double r = myNormPar[i] - prevNormPar;
|
double r = myNormPar[i] - prevNormPar;
|
||||||
|
helper.SetSubShape( myEdge[i] );
|
||||||
|
helper.ToFixNodeParameters( true );
|
||||||
if ( !myIsUniform[i] )
|
if ( !myIsUniform[i] )
|
||||||
while ( nItr->more() )
|
while ( nItr->more() )
|
||||||
{
|
{
|
||||||
@ -456,6 +458,8 @@ std::vector<const SMDS_MeshNode*> StdMeshers_FaceSide::GetOrderedNodes() const
|
|||||||
SMDS_NodeIteratorPtr nItr = sm->GetNodes();
|
SMDS_NodeIteratorPtr nItr = sm->GetNodes();
|
||||||
double paramSize = myLast[i] - myFirst[i];
|
double paramSize = myLast[i] - myFirst[i];
|
||||||
double r = myNormPar[i] - prevNormPar;
|
double r = myNormPar[i] - prevNormPar;
|
||||||
|
helper.SetSubShape( myEdge[i] );
|
||||||
|
helper.ToFixNodeParameters( true );
|
||||||
while ( nItr->more() )
|
while ( nItr->more() )
|
||||||
{
|
{
|
||||||
const SMDS_MeshNode* node = nItr->next();
|
const SMDS_MeshNode* node = nItr->next();
|
||||||
|
@ -404,6 +404,7 @@ bool StdMeshers_Hexa_3D::Compute(SMESH_Mesh & aMesh,
|
|||||||
|
|
||||||
// assure correctness of node positions on baseE:
|
// assure correctness of node positions on baseE:
|
||||||
// helper.GetNodeU() will fix positions if they are wrong
|
// helper.GetNodeU() will fix positions if they are wrong
|
||||||
|
helper.ToFixNodeParameters( true );
|
||||||
for ( int iE = 0; iE < baseQuadSide->NbEdges(); ++iE )
|
for ( int iE = 0; iE < baseQuadSide->NbEdges(); ++iE )
|
||||||
{
|
{
|
||||||
const TopoDS_Edge& baseE = baseQuadSide->Edge( iE );
|
const TopoDS_Edge& baseE = baseQuadSide->Edge( iE );
|
||||||
|
@ -3460,6 +3460,7 @@ bool _ViscousBuilder::shrink()
|
|||||||
}
|
}
|
||||||
|
|
||||||
SMESH_MesherHelper helper( *_mesh );
|
SMESH_MesherHelper helper( *_mesh );
|
||||||
|
helper.ToFixNodeParameters( true );
|
||||||
|
|
||||||
// EDGE's to shrink
|
// EDGE's to shrink
|
||||||
map< int, _Shrinker1D > e2shrMap;
|
map< int, _Shrinker1D > e2shrMap;
|
||||||
|
Loading…
Reference in New Issue
Block a user