X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_Document.h;h=f2acb48a68a1719898e44a765c86726a48a78808;hb=50a8df0c6a66da8067b16155e5ae39f8f26a7ebc;hp=8778402e0d3d8df692d5035e6ee7a1e624bf17e3;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/Model/Model_Document.h b/src/Model/Model_Document.h index 8778402e0..f2acb48a6 100644 --- a/src/Model/Model_Document.h +++ b/src/Model/Model_Document.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2020 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -56,6 +56,17 @@ class Model_Document : public ModelAPI_Document MODEL_EXPORT virtual bool load( const char* theDirName, const char* theFileName, DocumentPtr theThis); + //! Loads the OCAF document from the file into the current document. + //! All the features are added after the active feature. + //! \param theFileName name of the file to import + //! \param theImported list of features imported from the file + //! \param theCheckOnly verify the document does not contain unappropriate features + //! (useful for import to PartSet), but do not import it + //! \returns true if file was loaded successfully + MODEL_EXPORT virtual bool importPart(const char* theFileName, + std::list >& theImported, + bool theCheckOnly = false); + //! Saves the OCAF document to the file. //! \param theDirName directory where the document will be saved //! \param theFileName a name of the document file to store @@ -64,6 +75,12 @@ class Model_Document : public ModelAPI_Document MODEL_EXPORT virtual bool save( const char* theDirName, const char* theFileName, std::list& theResults); + //! Export the list of features to the file + //! \param theFilename path to save the file + //! \param theExportFeatures list of features to export + MODEL_EXPORT virtual bool save(const char* theFilename, + const std::list >& theExportFeatures) const; + //! Removes document data //! \param theForever if it is false, document is just hidden //! (to keep possibility make it back on Undo/Redo) @@ -110,7 +127,8 @@ class Model_Document : public ModelAPI_Document MODEL_EXPORT virtual void removeFeature(FeaturePtr theFeature); //! Moves the feature to make it after the given one in the history. - MODEL_EXPORT virtual void moveFeature(FeaturePtr theMoved, FeaturePtr theAfterThis); + MODEL_EXPORT virtual void moveFeature( + FeaturePtr theMoved, FeaturePtr theAfterThis, const bool theSplit = false); //! Returns the first found object in the group by the object name //! \param theGroupID group that contains an object @@ -299,6 +317,11 @@ class Model_Document : public ModelAPI_Document /// Just removes all features without touching the document data (to be able undo) MODEL_EXPORT virtual void eraseAllFeatures(); + /// 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 reversed order (next becomes previous) + MODEL_EXPORT virtual std::shared_ptr nextFeature( + std::shared_ptr theCurrent, const bool theReverse = false) const; protected: //! Returns (creates if needed) the general label @@ -390,6 +413,7 @@ class Model_Document : public ModelAPI_Document friend class Model_AttributeRefList; friend class Model_AttributeRefAttrList; friend class Model_AttributeSelection; + friend class Model_AttributeSelectionList; friend class Model_ResultPart; friend class Model_ResultBody; friend class Model_ResultConstruction;