From: azv Date: Tue, 8 Nov 2016 09:53:30 +0000 (+0300) Subject: Split has incorrectly modified coincidences (issue #1784) X-Git-Tag: V_2.6.0~109 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=ff1e21d254ea2aaa6ecc7bdad7c445be7dda7aa5;p=modules%2Fshaper.git Split has incorrectly modified coincidences (issue #1784) Do not add feature (ConstraintCoincidence) into a list to remove, if the coincident point is not found. Because, there may be a coincidence between any attribute of split feature and another feature. --- diff --git a/src/SketchPlugin/SketchPlugin_ConstraintSplit.cpp b/src/SketchPlugin/SketchPlugin_ConstraintSplit.cpp index 156dc33fa..4ac441841 100755 --- a/src/SketchPlugin/SketchPlugin_ConstraintSplit.cpp +++ b/src/SketchPlugin/SketchPlugin_ConstraintSplit.cpp @@ -532,13 +532,9 @@ void SketchPlugin_ConstraintSplit::getConstraints(std::set& theFeatu if (anAttribute.get()) aCoincidentPoint = std::dynamic_pointer_cast(anAttribute); } - if (aCoincidentPoint.get()) { - if (isToFeature) - theCoincidenceToFeature[aRefFeature] = std::make_pair(anAttributeToBeModified, - aCoincidentPoint); - } - else - theFeaturesToDelete.insert(aRefFeature); /// this case should not happen + if (aCoincidentPoint.get() && isToFeature) + theCoincidenceToFeature[aRefFeature] = std::make_pair(anAttributeToBeModified, + aCoincidentPoint); } } }