From 2e39226506e4b82f6ae5dcc26e776571801b1555 Mon Sep 17 00:00:00 2001 From: mpv Date: Wed, 3 Jun 2015 16:07:01 +0300 Subject: [PATCH] Fix for the issue #593: do not remove naming attribute, but use TNaming_Builder for correct update of evolution and set new shapes. Othervise the MODIFUNTIL name myStop filed in TNaming_Name loses connection with the OCAF label. --- src/Model/Model_ResultBody.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Model/Model_ResultBody.cpp b/src/Model/Model_ResultBody.cpp index 704de68d8..f7492cc95 100644 --- a/src/Model/Model_ResultBody.cpp +++ b/src/Model/Model_ResultBody.cpp @@ -72,13 +72,20 @@ static void EvolutionToSelection(TDF_Label theLab, const bool theFlag) { return; } anEvolution = (int)(aNSEvol); + if (!theFlag) { + Handle(TDataStd_Integer) anAttrEvol; + if (theLab.FindAttribute(TDataStd_Integer::GetID(), anAttrEvol)) { + anEvolution = anAttrEvol->Get(); + } + } else { + TDataStd_Integer::Set(theLab, anEvolution); + } + for(TNaming_Iterator anIter(aName); anIter.More(); anIter.Next()) { aShapePairs.push_back(std::pair (anIter.OldShape(), anIter.NewShape())); } } - // remove old - theLab.ForgetAttribute(TNaming_NamedShape::GetID()); // create new TNaming_Builder aBuilder(theLab); TNaming_Evolution anEvol = (TNaming_Evolution)(anEvolution); -- 2.39.2