X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Feature.h;h=f6aec2ecbe7570820cd4f5c7cfb4fa7e2cf79cf4;hb=9270adddc12db9661c676544537b0e8eb78c1624;hp=fe7cc35e872465e157331fc81353a5416ecfb5ad;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Feature.h b/src/ModelAPI/ModelAPI_Feature.h index fe7cc35e8..f6aec2ecb 100644 --- a/src/ModelAPI/ModelAPI_Feature.h +++ b/src/ModelAPI/ModelAPI_Feature.h @@ -1,4 +1,4 @@ -// 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 @@ -73,7 +73,7 @@ class ModelAPI_Feature : public ModelAPI_Object /// Computes the attribute value on the base of other attributes if the value can be computed /// \param theAttributeId an attribute index to be computed /// \return a boolean value about it is computed - virtual bool compute(const std::string& theAttributeId) { return false; }; + virtual bool compute(const std::string& /*theAttributeId*/) { return false; }; /// Registers error during the execution, causes the ExecutionFailed state MODELAPI_EXPORT virtual void setError(const std::string& theError, @@ -164,7 +164,7 @@ class ModelAPI_Feature : public ModelAPI_Object // Helper methods, aliases for data()->method() // ----------------------------------------------------------------------------------------------- /// Returns the name stored in the attribute - inline std::string name() + inline std::wstring name() { return data()->name(); } @@ -198,6 +198,11 @@ class ModelAPI_Feature : public ModelAPI_Object { return data()->refattr(theID); } + /// Returns the refattrlist attribute by the identifier + inline std::shared_ptr refattrlist(const std::string& theID) + { + return data()->refattrlist(theID); + } /// Returns the reference attribute by the identifier inline std::shared_ptr reference(const std::string& theID) { @@ -250,5 +255,19 @@ class ModelAPI_Feature : public ModelAPI_Object //! Pointer on feature object typedef std::shared_ptr FeaturePtr; -#endif +//! An interface for performing special copy actions. To give feature which is moved (a group) +//! over this feature. +class ModelAPI_FeatureCopyInterface { +public: + virtual ~ModelAPI_FeatureCopyInterface() {} + /// An algorithm to update the moved feature by the separate Copy feature + /// \param theContext the original context object + /// \param theValue the original shape + /// \param theCopies resulting copy-context will be appended here + virtual void getCopies(ObjectPtr theContext, std::shared_ptr theValue, + std::list& theCopyContext, + std::list >& theCopyVals) = 0; +}; + +#endif