-// 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
class ModelAPI_Filter
{
public:
+ virtual ~ModelAPI_Filter() {}
+
/// Returns name of the filter to represent it in GUI
virtual const std::string& name() const = 0;
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 ""; }
/// Initializes arguments of a filter. If a filter has no arguments, this method may be
/// not redefined.
- virtual void initAttributes(ModelAPI_FiltersArgs& theArguments) {}
+ virtual void initAttributes(ModelAPI_FiltersArgs& /*theArguments*/) {}
-protected:
/// Returns XML string which represents GUI of the filter
/// by reading corresponding XML file.
- MODELAPI_EXPORT std::string xmlFromFile(const std::string& theConfigFile) const;
+ MODELAPI_EXPORT virtual std::string xmlFromFile(const std::string& theConfigFile) const;
private:
bool myIsReverse;