20 #ifndef ModelAPI_Filter_H_
21 #define ModelAPI_Filter_H_
23 #include "ModelAPI_FiltersArgs.h"
24 #include "ModelAPI_ResultBody.h"
26 #include <GeomAPI_Shape.h>
39 virtual const std::string&
name()
const = 0;
49 virtual bool isOk(
const GeomShapePtr& theShape,
50 const ResultPtr& theResult,
66 MODELAPI_EXPORT
virtual std::string
xmlFromFile(
const std::string& theConfigFile)
const;
72 typedef std::shared_ptr<ModelAPI_Filter> FilterPtr;
ShapeType
Shape type enum.
Definition: GeomAPI_Shape.h:46
Definition: ModelAPI_Filter.h:34
virtual std::string xmlFromFile(const std::string &theConfigFile) const
Returns XML string which represents GUI of the filter by reading corresponding XML file.
Definition: ModelAPI_Filter.cpp:26
virtual bool isMultiple() const
Returns True if the filter can be used several times within one filtering.
Definition: ModelAPI_Filter.h:54
virtual bool isOk(const GeomShapePtr &theShape, const ResultPtr &theResult, const ModelAPI_FiltersArgs &theArgs) const =0
This method should contain the filter logic.
virtual const std::string & name() const =0
Returns name of the filter to represent it in GUI.
virtual void initAttributes(ModelAPI_FiltersArgs &)
Initializes arguments of a filter.
Definition: ModelAPI_Filter.h:62
virtual std::string xmlRepresentation() const
Returns XML string which represents GUI of the filter By default it returns nothing (no GUI)
Definition: ModelAPI_Filter.h:58
virtual bool isSupported(GeomAPI_Shape::ShapeType theType) const =0
Returns true if the given shape type is supported.
definition of arguments of filters: id of the argument to attributes
Definition: ModelAPI_FiltersArgs.h:31