X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FSketchSolver_ConstraintMulti.cpp;h=bd0a82ad3206962483ae6a6bffa4b5d5fe5b5fa8;hb=176403004ff97696f3c0b5f8bdf48692177fb34a;hp=0ee95310fd3844a9d9d3cb148acebcc09400e0a7;hpb=7c6fb179cda3b2f3a8489e416d54af7f93b361e6;p=modules%2Fshaper.git diff --git a/src/SketchSolver/SketchSolver_ConstraintMulti.cpp b/src/SketchSolver/SketchSolver_ConstraintMulti.cpp index 0ee95310f..bd0a82ad3 100644 --- a/src/SketchSolver/SketchSolver_ConstraintMulti.cpp +++ b/src/SketchSolver/SketchSolver_ConstraintMulti.cpp @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + #include #include #include @@ -35,7 +37,8 @@ void SketchSolver_ConstraintMulti::getEntities(std::list& theE FeaturePtr aFeature; std::list anObjectList = aRefList->list(); std::list::iterator anObjIt = anObjectList.begin(); - if ((myNumberOfCopies + 1) * myNumberOfObjects != aRefList->size()) // execute for the feature is not called yet + // execute for the feature is not called yet + if ((myNumberOfCopies + 1) * myNumberOfObjects != aRefList->size()) myNumberOfCopies = aRefList->size() / myNumberOfObjects - 1; while (anObjIt != anObjectList.end()) { @@ -43,7 +46,8 @@ void SketchSolver_ConstraintMulti::getEntities(std::list& theE if (!aFeature) continue; - if (!myStorage->update(aFeature)) // the entity is not created, so it is a copy in "multi" constraint, force its creation + // the entity is not created, so it is a copy in "multi" constraint, force its creation + if (!myStorage->update(aFeature)) myStorage->update(aFeature, myGroupID, true); theEntities.push_back(myStorage->entity(aFeature)); myFeatures.insert(aFeature); @@ -75,7 +79,8 @@ void SketchSolver_ConstraintMulti::update(bool isForce) AttributeIntegerPtr aNbObjects = myBaseConstraint->integer(nameNbObjects()); if (!anInitialRefList || !aNbObjects) return; // the "Multi" constraint is in queue to remove - bool isUpdated= anInitialRefList->size() != myNumberOfObjects || aNbObjects->value()-1 != myNumberOfCopies; + bool isUpdated = + anInitialRefList->size() != myNumberOfObjects || aNbObjects->value()-1 != myNumberOfCopies; if (!isUpdated) { // additional check that the features and their copies are changed AttributeRefListPtr aRefList = std::dynamic_pointer_cast(