-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022 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
//! Moves the feature to make it after the given one in the history.
virtual void moveFeature(std::shared_ptr<ModelAPI_Feature> theMoved,
- std::shared_ptr<ModelAPI_Feature> theAfterThis) = 0;
+ std::shared_ptr<ModelAPI_Feature> theAfterThis,
+ const bool theSplit = false) = 0;
///! Returns the id of the document
virtual const int id() const = 0;
//! \param theName name of the object to search
//! \returns null if such object is not found
virtual std::shared_ptr<ModelAPI_Object> objectByName(const std::string& theGroupID,
- const std::string& theName) = 0;
+ const std::wstring& theName) = 0;
//! Returns the object index in the group. Object must be visible. Otherwise returns -1.
//! \param theObject object of this document
MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Feature> nextFeature(
std::shared_ptr<ModelAPI_Feature> theCurrent, const bool theReverse = false) const = 0;
+ /// 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
+ MODELAPI_EXPORT virtual bool importPart(const char* theFileName,
+ std::list<std::shared_ptr<ModelAPI_Feature> >& theImported,
+ bool theCheckOnly = false) = 0;
+
+ /// Export the list of features to the file
+ /// \param theFilename path to save the file
+ /// \param theExportFeatures list of features to export
+ MODELAPI_EXPORT virtual bool save(const char* theFilename,
+ const std::list<std::shared_ptr<ModelAPI_Feature> >& theExportFeatures) const = 0;
+
protected:
//! Only for SWIG wrapping it is here
MODELAPI_EXPORT ModelAPI_Document();