X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_Objects.h;h=dc1fe7855a74cd19abd0879fcaa072365af8ca1d;hb=77b93142eb8ba33bfb9a42040c2fd8926ffea5c8;hp=bf6904715014fe90783cbfb906b55e2b6dddfeb9;hpb=82d3fff7d0ed2c089da5aa6b106789be076081f3;p=modules%2Fshaper.git diff --git a/src/Model/Model_Objects.h b/src/Model/Model_Objects.h index bf6904715..dc1fe7855 100644 --- a/src/Model/Model_Objects.h +++ b/src/Model/Model_Objects.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -94,26 +95,23 @@ class Model_Objects //! Returns the feature by zero-based index: features in the history or not std::shared_ptr internalFeature(const int theIndex); - /// Creates a construction results + /// Creates a construction result std::shared_ptr createConstruction( const std::shared_ptr& theFeatureData, const int theIndex = 0); - /// Creates a body results + /// Creates a body result std::shared_ptr createBody( const std::shared_ptr& theFeatureData, const int theIndex = 0); - /// Creates a body results - std::shared_ptr createCompSolid( - const std::shared_ptr& theFeatureData, const int theIndex = 0); - /// Creates a part results + /// Creates a part result std::shared_ptr createPart( const std::shared_ptr& theFeatureData, const int theIndex = 0); - /// Copies a part results, keeping the same data + /// Copies a part result, keeping the reference to origin std::shared_ptr copyPart( - const std::shared_ptr& theOldPart, - const std::shared_ptr& theOrigin, const int theIndex = 0); - /// Creates a group results + const std::shared_ptr& theOrigin, + const std::shared_ptr& theFeatureData, const int theIndex = 0); + /// Creates a group result std::shared_ptr createGroup( const std::shared_ptr& theFeatureData, const int theIndex = 0); - + /// Creates a parameter result std::shared_ptr createParameter( const std::shared_ptr& theFeatureData, const int theIndex = 0); @@ -140,10 +138,10 @@ class Model_Objects void setUniqueName(FeaturePtr theFeature); //! Synchronizes myFeatures list with the updated document - //! \param theMarkUpdated causes the "update" event for all features + //! \param theUpdated list of labels that are marked as modified, so featrues must be also //! \param theUpdateReferences causes the update of back-references //! \param theFlush makes flush all events in the end of all modifications of this method - void synchronizeFeatures(const bool theMarkUpdated, const bool theUpdateReferences, + void synchronizeFeatures(const TDF_LabelList& theUpdated, const bool theUpdateReferences, const bool theFlush); //! Synchronizes the BackReferences list in Data of Features and Results void synchronizeBackRefs(); @@ -177,13 +175,16 @@ class Model_Objects /// Creates the history: up to date with the current state void createHistory(const std::string& theGroupID); - /// Returns to the next (from the history point of view) feature, any: invisible or disabled + /// Returns the next (from the history point of view) feature, any: invisible or disabled + /// \param theCurrent previous to the resulting feature /// \param theReverse if it is true, iterates in reverced order (next becomes previous) FeaturePtr nextFeature(FeaturePtr theCurrent, const bool theReverse = false); /// Returns to the first (from the history point of view) feature, any: invisible or disabled FeaturePtr firstFeature(); /// Returns to the last (from the history point of view) feature, any: invisible or disabled FeaturePtr lastFeature(); + /// Returns true if theLater is in history of features creation later than theCurrent + bool isLater(FeaturePtr theLater, FeaturePtr theCurrent) const; /// Returns the result group identifier of the given feature (for this at least one result must /// be created before)