Salome HOME
Remove default values from properties requests
[modules/shaper.git] / src / ModelHighAPI / ModelHighAPI_Interface.h
index 009b7e89b08333ebb053d40f650f6c9cc6413f86..7c9774e3aa540cbde44096bb82aa02013e24f41d 100644 (file)
@@ -1,5 +1,6 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 // Name   : ModelHighAPI_Interface.h
-// Purpose: 
+// Purpose:
 //
 // History:
 // 17/05/16 - Sergey POKHODENKO - Creation of the file
@@ -39,18 +40,31 @@ public:
   MODELHIGHAPI_EXPORT
   std::shared_ptr<ModelAPI_Feature> feature() const;
 
+  /// If feature is composite return intefrace for sub-feature by zero-based index,
+  /// or empty pointer if feature not composite or does not have sub-feature with such index.
+  MODELHIGHAPI_EXPORT
+  std::shared_ptr<ModelHighAPI_Interface> subFeature(const int theIndex) const;
+
   /// Shortcut for feature()->getKind()
   MODELHIGHAPI_EXPORT
   const std::string& getKind() const;
 
   /// Shortcut for feature()->execute()
+  /// \param isForce start execution of feature instead of sending events
+  MODELHIGHAPI_EXPORT
+  void execute(bool isForce = false);
+
+  /// Shortcut for feature()->data()->setName()
+  MODELHIGHAPI_EXPORT
+  void setName(const std::string& theName);
+
+  /// Return firts object of the feature
   MODELHIGHAPI_EXPORT
-  void execute();
+  virtual ModelHighAPI_Selection result() const;
 
-  // TODO(spo): rename to selectAll()
   /// Return all objects of the feature
   MODELHIGHAPI_EXPORT
-  virtual std::list<ModelHighAPI_Selection> result() const;
+  virtual std::list<ModelHighAPI_Selection> results() const;
 
   /// Return default result. Default implementation feature()->lastResult()
   MODELHIGHAPI_EXPORT
@@ -69,7 +83,7 @@ public:
   virtual void dump(ModelHighAPI_Dumper& theDumper) const {}
 
 protected:
-  std::shared_ptr<ModelAPI_Feature> myFeature;
+  std::shared_ptr<ModelAPI_Feature> myFeature; ///< feature of this interface
 
   std::map<std::string, std::string> myAttrGetter; ///< names of attributes and their getters
 };