}
}
}
+ // dump folders if any
+ dumpPostponed(true);
return isOk;
}
// decrease composite features stack
--gCompositeStackDepth;
+ // dump folders if any
+ dumpPostponed(true);
return isOk;
}
if (isDumpSetName)
dumpEntitySetName();
// dump folders if any
- dumpPostponed();
+ dumpPostponed(true);
return isOk;
}
myPostponed.push_back(theEntity);
}
-void ModelHighAPI_Dumper::dumpPostponed()
+void ModelHighAPI_Dumper::dumpPostponed(bool theDumpFolders)
{
if (myDumpPostponedInProgress)
return;
std::list<EntityPtr>::const_iterator anIt = aPostponedCopy.begin();
for (; anIt != aPostponedCopy.end(); ++anIt) {
FolderPtr aFolder = std::dynamic_pointer_cast<ModelAPI_Folder>(*anIt);
- if (aFolder)
- dumpFolder(aFolder);
+ if (aFolder) {
+ if (theDumpFolders)
+ dumpFolder(aFolder);
+ else
+ myPostponed.push_back(*anIt);
+ }
else {
FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(*anIt);
if (aFeature)