+ else if (aCIter != myConstraints.end() &&
+ aCIter->first->getKind() == SketchPlugin_ConstraintCoincidence::ID()) {
+ // Update multicoincidence
+ std::list<ConstraintPtr> aMultiCoinc;
+ SolverConstraintPtr aCoincidence = aCIter->second;
+ while (aCIter != myConstraints.end()) {
+ if (aCIter->second != aCoincidence) {
+ ++aCIter;
+ continue;
+ }
+ if (aCIter->first != theConstraint)
+ aMultiCoinc.push_back(aCIter->first);
+ aCIter->second->remove(aCIter->first);
+ ConstraintConstraintMap::iterator aRemoveIt = aCIter++;
+ myConstraints.erase(aRemoveIt);
+ }
+
+ std::list<ConstraintPtr>::iterator anIt = aMultiCoinc.begin();
+ for (; anIt != aMultiCoinc.end(); ++anIt)
+ changeConstraint(*anIt);
+ }