mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-04-15 18:11:21 +05:00
0021472: EDF 2080 SMESH: Projection1D2D on a Voronoi structure fails
fix merging new and old nodes in case if not all edges are meshed
This commit is contained in:
parent
025e264849
commit
4f5cf5faab
@ -196,8 +196,7 @@ namespace {
|
|||||||
// only by faces created by mapper
|
// only by faces created by mapper
|
||||||
//if ( is1DComputed )
|
//if ( is1DComputed )
|
||||||
{
|
{
|
||||||
SMDS_ElemIteratorPtr invEdge = node->GetInverseElementIterator(SMDSAbs_Edge);
|
bool isOld = node->NbInverseElements(SMDSAbs_Edge) > 0;
|
||||||
bool isOld = invEdge->more();
|
|
||||||
return isOld;
|
return isOld;
|
||||||
}
|
}
|
||||||
// else
|
// else
|
||||||
@ -224,7 +223,7 @@ namespace {
|
|||||||
void Release() { sm = 0; } // mesh will not be removed
|
void Release() { sm = 0; } // mesh will not be removed
|
||||||
static void Clean( SMESH_subMesh* sm, bool withSub=true )
|
static void Clean( SMESH_subMesh* sm, bool withSub=true )
|
||||||
{
|
{
|
||||||
if ( !sm ) return;
|
if ( !sm || !sm->GetSubMeshDS() ) return;
|
||||||
// PAL16567, 18920. Remove face nodes as well
|
// PAL16567, 18920. Remove face nodes as well
|
||||||
// switch ( sm->GetSubShape().ShapeType() ) {
|
// switch ( sm->GetSubShape().ShapeType() ) {
|
||||||
// case TopAbs_VERTEX:
|
// case TopAbs_VERTEX:
|
||||||
@ -936,9 +935,10 @@ bool StdMeshers_Projection_2D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape&
|
|||||||
{
|
{
|
||||||
SMESH_subMesh* sm = smIt->next();
|
SMESH_subMesh* sm = smIt->next();
|
||||||
SMESHDS_SubMesh* smDS = sm->GetSubMeshDS();
|
SMESHDS_SubMesh* smDS = sm->GetSubMeshDS();
|
||||||
|
if ( !sm->IsMeshComputed() )
|
||||||
if ( !is1DComputed && sm->GetSubShape().ShapeType() == TopAbs_EDGE )
|
|
||||||
break;
|
break;
|
||||||
|
//if ( !is1DComputed && sm->GetSubShape().ShapeType() == TopAbs_EDGE )
|
||||||
|
//break;
|
||||||
|
|
||||||
// Sort new and old nodes of a submesh separately
|
// Sort new and old nodes of a submesh separately
|
||||||
|
|
||||||
@ -996,8 +996,7 @@ bool StdMeshers_Projection_2D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape&
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ( u2nodesMaps[ OLD_NODES ].size() == 0 &&
|
if ( u2nodesMaps[ OLD_NODES ].size() == 0 &&
|
||||||
sm->GetSubShape().ShapeType() == TopAbs_VERTEX &&
|
sm->GetSubShape().ShapeType() == TopAbs_VERTEX )
|
||||||
!is1DComputed )
|
|
||||||
// old nodes are optional on vertices in the case of 1D-2D projection
|
// old nodes are optional on vertices in the case of 1D-2D projection
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user