Salome HOME
Merge remote-tracking branch 'remotes/origin/occ/compounds_processing'
[modules/shaper.git] / src / ModelAPI / ModelAPI_Filter.h
index 0469801fe5fbb3fd9b8d85a7ad2d2a4b88ebd6fb..25439241168ad6812b360049ead822246174d3cf 100644 (file)
@@ -33,6 +33,8 @@
 class ModelAPI_Filter
 {
 public:
+  virtual ~ModelAPI_Filter() {}
+
   /// Returns name of the filter to represent it in GUI
   virtual const std::string& name() const = 0;
 
@@ -48,6 +50,9 @@ public:
                     const ResultPtr& theResult,
                     const ModelAPI_FiltersArgs& theArgs) const = 0;
 
+  /// Returns True if the filter can be used several times within one filtering
+  virtual bool isMultiple() const { return false; }
+
   /// Returns XML string which represents GUI of the filter
   /// By default it returns nothing (no GUI)
   virtual std::string xmlRepresentation() const { return ""; }
@@ -56,6 +61,10 @@ public:
   /// not redefined.
   virtual void initAttributes(ModelAPI_FiltersArgs& theArguments) {}
 
+  /// Returns XML string which represents GUI of the filter
+  /// by reading corresponding XML file.
+  MODELAPI_EXPORT virtual std::string xmlFromFile(const std::string& theConfigFile) const;
+
 private:
   bool myIsReverse;
 };