mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 08:50:35 +05:00
Bug 0020185: EDF SMESH 967 : Anomaly in Merge Nodes.
This commit is contained in:
parent
14e6b5b1a7
commit
2bd83d5b0b
@ -4846,6 +4846,25 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
|
|||||||
TNodeNodeMap::iterator nnIt = nodeNodeMap.find( n );
|
TNodeNodeMap::iterator nnIt = nodeNodeMap.find( n );
|
||||||
if ( nnIt != nodeNodeMap.end() ) { // n sticks
|
if ( nnIt != nodeNodeMap.end() ) { // n sticks
|
||||||
n = (*nnIt).second;
|
n = (*nnIt).second;
|
||||||
|
// BUG 0020185: begin
|
||||||
|
{
|
||||||
|
bool stopRecur = false;
|
||||||
|
set<const SMDS_MeshNode*> nodesRecur;
|
||||||
|
nodesRecur.insert(n);
|
||||||
|
while (!stopRecur) {
|
||||||
|
TNodeNodeMap::iterator nnIt_i = nodeNodeMap.find( n );
|
||||||
|
if ( nnIt_i != nodeNodeMap.end() ) { // n sticks
|
||||||
|
n = (*nnIt_i).second;
|
||||||
|
if (!nodesRecur.insert(n).second) {
|
||||||
|
// error: recursive dependancy
|
||||||
|
stopRecur = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
stopRecur = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// BUG 0020185: end
|
||||||
iRepl[ nbRepl++ ] = iCur;
|
iRepl[ nbRepl++ ] = iCur;
|
||||||
}
|
}
|
||||||
curNodes[ iCur ] = n;
|
curNodes[ iCur ] = n;
|
||||||
|
Loading…
Reference in New Issue
Block a user