+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: Model_Update.cxx
// Created: 25 Jun 2014
// Author: Mikhail PONIKAROV
std::set<ObjectPtr>::const_iterator anObjIter = anObjs.cbegin();
for(; anObjIter != anObjs.cend(); anObjIter++) {
myJustCreatedOrUpdated.insert(*anObjIter);
+ // TODO(mpv): check the next line. Came into dev 0.6.1 from BR_PYTHON_PLUGIN
+ // (*anObjIter)->data()->mustBeUpdated(true); // object must be updated because it was changed
}
if (theMessage->eventID() == kMovedEvent)
return; // this event is for solver update, not here
// all sub-documents one by one
std::shared_ptr<Model_Document> aDoc = std::dynamic_pointer_cast<Model_Document>(theDoc);
if (aDoc) {
- const std::set<std::string>& aSubs = aDoc->subDocuments();
+ const std::set<std::string> aSubs = aDoc->subDocuments(true);
for(std::set<std::string>::iterator aSub = aSubs.begin(); aSub != aSubs.end(); aSub++) {
DocumentPtr aSubDoc = theDoc->subDocument(*aSub);
if (aSubDoc) {
void Model_Update::redisplayWithResults(FeaturePtr theFeature, const ModelAPI_ExecState theState)
{
- // maske updated and redisplay all results
+ // make updated and redisplay all results
static Events_ID EVENT_DISP = Events_Loop::loop()->eventByName(EVENT_OBJECT_TO_REDISPLAY);
const std::list<std::shared_ptr<ModelAPI_Result> >& aResults = theFeature->results();
std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRIter = aResults.begin();
} else { // for automatically updated features (on abort, etc) it is necessary to redisplay anyway
redisplayWithResults(theFeature, ModelAPI_StateNothing);
}
- } else { // returns also true is results were updated: for sketch that refers to sub-features but results of sub-features were changed
+ } else {
+ // returns also true is results were updated: for sketch that
+ // refers to sub-features but results of sub-features were changed
const std::list<std::shared_ptr<ModelAPI_Result> >& aResults = theFeature->results();
std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRIter = aResults.begin();
for (; aRIter != aResults.cend(); aRIter++) {