#include <ModelAPI_Validator.h>
#include <ModelAPI_CompositeFeature.h>
#include <ModelAPI_AttributeSelectionList.h>
+#include <ModelAPI_Tools.h>
#include <Events_Loop.h>
#include <Events_Error.h>
TDF_Label aLab = aRef->Get();
FeaturePtr aResult = myObjs->feature(aLab);
if (theVisible) { // get nearest visible (in history) going up
- while(aResult.get() && !aResult->isInHistory()) {
+ while(aResult.get() && // sub-composites are never in history
+ (!aResult->isInHistory() || ModelAPI_Tools::compositeOwner(aResult).get())) {
aResult = myObjs->nextFeature(aResult, true);
}
}
}
return mySelectionFeature->selectionList("selection");
}
+
+FeaturePtr Model_Document::lastFeature()
+{
+ if (myObjs)
+ return myObjs->lastFeature();
+ return FeaturePtr();
+}