From bbca47ef296e1264c2171ac685b6d24321a3c830 Mon Sep 17 00:00:00 2001 From: azv Date: Wed, 23 Dec 2015 15:51:07 +0300 Subject: [PATCH] Fix for issue #1162 --- src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp | 2 +- .../SolveSpaceSolver/SolveSpaceSolver_Storage.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp b/src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp index 5fc487e12..a322e66be 100644 --- a/src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp +++ b/src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp @@ -25,7 +25,7 @@ void SketchSolver_ConstraintMultiRotation::getAttributes( myType = CONSTRAINT_MULTI_ROTATION; - myStorage->update(aCenterAttr, GID_OUTOFGROUP); + myStorage->update(aCenterAttr); theCenter = myStorage->entity(aCenterAttr); AttributeStringPtr aMethodTypeAttr = aData->string(SketchPlugin_MultiRotation::ANGLE_TYPE()); diff --git a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp index b28e1b63d..23c4995e6 100644 --- a/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp +++ b/src/SketchSolver/SolveSpaceSolver/SolveSpaceSolver_Storage.cpp @@ -367,9 +367,11 @@ void SolveSpaceSolver_Storage::replaceInConstraints( std::list::const_iterator aCIt; for (; anIt != myConstraintMap.end(); ++anIt) for (aCIt = anIt->second.begin(); aCIt != anIt->second.end(); ++aCIt) { - // Do not process coincidence between points + // Do not process coincidence between points and "multi" constraints // (these constraints are stored to keep the structure of constraints). - if ((*aCIt)->type() == CONSTRAINT_PT_PT_COINCIDENT) + if ((*aCIt)->type() == CONSTRAINT_PT_PT_COINCIDENT || + (*aCIt)->type() == CONSTRAINT_MULTI_ROTATION || + (*aCIt)->type() == CONSTRAINT_MULTI_TRANSLATION) continue; bool isUpdated = false; -- 2.30.2