Salome HOME
[bos #35140] [EDF] (2023-T1) Memory communication between SHAPER and GEOM
[modules/shaper.git] / src / ModelAPI / ModelAPI_Feature.h
index ee9deb3fd4af96cf3584c3b3979bdfbc1d44840e..c973d4464ff3400c61f1ed637501d7054edb5df9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -41,7 +41,7 @@ class ModelAPI_Feature : public ModelAPI_Object
   std::list<std::shared_ptr<ModelAPI_Result> > myResults;
   ///< is feature disabled or not
   bool myIsDisabled;
-  ///< is feature is stable (not editing)
+  ///< is feature stable (not editing)
   bool myIsStable;
 
  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,
@@ -155,6 +155,9 @@ class ModelAPI_Feature : public ModelAPI_Object
   /// Returns the feature is stable or not.
   MODELAPI_EXPORT virtual bool isStable();
 
+  /// Returns the feature is editable or not. Most of features are editable.
+  MODELAPI_EXPORT virtual bool isEditable();
+
   /// Performs some custom feature specific functionality (normally called by some GUI button)
   /// \param theActionId an action key
   /// \return a boolean value about it is performed
@@ -259,6 +262,8 @@ typedef std::shared_ptr<ModelAPI_Feature> FeaturePtr;
 //! 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