//! Returns the feature by zero-based index: features in the history or not
std::shared_ptr<ModelAPI_Feature> internalFeature(const int theIndex);
+ //! Returns feature by the id of the feature (produced by the Data "featureId" method)
+ std::shared_ptr<ModelAPI_Feature> featureById(const int theId);
+
+
/// Creates a construction result
std::shared_ptr<ModelAPI_ResultConstruction> createConstruction(
const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0);
//! Synchronizes myFeatures list with the updated document
//! \param theUpdated list of labels that are marked as modified, so featrues must be also
//! \param theUpdateReferences causes the update of back-references
+ //! \param theOpen - on open nothing must be reexecuted, except not persistent results
//! \param theFlush makes flush all events in the end of all modifications of this method
void synchronizeFeatures(const TDF_LabelList& theUpdated, const bool theUpdateReferences,
- const bool theFlush);
+ const bool theOpen, const bool theFlush);
//! Synchronizes the BackReferences list in Data of Features and Results
void synchronizeBackRefs();
friend class Model_AttributeReference;
friend class Model_AttributeRefAttr;
friend class Model_AttributeRefList;
+ friend class Model_AttributeSelection;
+ friend class Model_SelectionNaming;
};
#endif