}
// for the current breaked, set iteration to this feature precisely
aBreaked->setCurrentBefore(theFeature);
- myModification++;
+ //myModification++;
}
// the iterator that contains breaked is found, so, nothing else is needed
return;
return;
#ifdef DEB_UPDATE
- //std::cout<<"Update Feature "<<theFeature->name()<<std::endl;
+ std::cout<<"Update Feature "<<theFeature->name()<<std::endl;
#endif
CompositeFeaturePtr aCompos = std::dynamic_pointer_cast<ModelAPI_CompositeFeature>(theFeature);
// If automatice update is not needed and feature attributes were not updated right now,
#endif
executeFeature(theFeature);
} else {
+ #ifdef DEB_UPDATE
+ std::cout<<"Feature is not valid, erase results "<<theFeature->name()<<std::endl;
+ #endif
theFeature->eraseResults();
redisplayWithResults(theFeature, ModelAPI_StateInvalidArgument); // result also must be updated
}
break;
}
} else if (mySub.get()) {
- mySub = myObjects->nextFeature(mySub);
+ while(mySub.get()) {
+ mySub = myObjects->nextFeature(mySub);
+ CompositeFeaturePtr anOwner = ModelAPI_Tools::compositeOwner(mySub);
+ // skip sub-objects, that are subs not only for this: sketch elements relatively to PartSet
+ if (!anOwner.get()) {
+ break;
+ }
+ }
}
}
}