+ bool& executeFeatures() {return myExecuteFeatures;}
+
+ //! Registers the name of the shape for the topological naming needs
+ void addNamingName(const TDF_Label theLabel, std::string theName);
+ //! Returns the label, keeper of the name for the topological naming needs
+ TDF_Label findNamingName(std::string theName);
+ //! Returns the result by name of the result (names of results must be unique, used for naming
+ //! selection by name.
+ ResultPtr findByName(const std::string theName);
+
+ ///! Returns all features of the document including the hidden features which are not in
+ ///! history. Not very fast method, for calling once, not in big cycles.
+ MODEL_EXPORT virtual std::list<std::shared_ptr<ModelAPI_Feature> > allFeatures();
+
+ /// Returns the global identifier of the current transaction (needed for the update algo)
+ MODEL_EXPORT virtual int transactionID();
+ /// Increases the transaction ID
+ MODEL_EXPORT virtual void incrementTransactionID();
+ /// Decreases the transaction ID
+ MODEL_EXPORT virtual void decrementTransactionID();
+
+ /// Returns true if document is opened and valid
+ MODEL_EXPORT virtual bool isOpened();
+
+ /// Returns the last feature in the document (even not visible or disabled)
+ /// \returns null if there is no features
+ FeaturePtr lastFeature();