+// 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
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();
+ void execute(bool isForce = false);
/// Shortcut for feature()->data()->setName()
MODELHIGHAPI_EXPORT
void setName(const std::string& theName);
- // TODO(spo): rename to selectAll()
+ /// Return firts object of the feature
+ MODELHIGHAPI_EXPORT
+ virtual ModelHighAPI_Selection result() const;
+
/// 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
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
};