20 #ifndef ModelAPI_FiltersFactory_H_
21 #define ModelAPI_FiltersFactory_H_
23 #include "ModelAPI_Feature.h"
24 #include "ModelAPI_Filter.h"
25 #include "ModelAPI_ResultBody.h"
27 #include <GeomAPI_Shape.h>
49 virtual bool isValid(FeaturePtr theFiltersFeature,
51 GeomShapePtr theShape) = 0;
57 virtual std::list< std::pair<ResultPtr, GeomShapePtr> >
select
58 (
const FiltersFeaturePtr& theFilterFeature,
65 virtual FilterPtr
filter(std::string theID) = 0;
68 virtual std::string
id(FilterPtr theFilter) = 0;
ShapeType
Shape type enum.
Definition: GeomAPI_Shape.h:46
Definition: ModelAPI_Filter.h:34
Manages registering of filters.
Definition: ModelAPI_FiltersFactory.h:35
virtual std::list< std::pair< ResultPtr, GeomShapePtr > > select(const FiltersFeaturePtr &theFilterFeature, const GeomAPI_Shape::ShapeType theShapeType)=0
Returns list of all shapes and subshapes in the study, satisfying criteria of all filters of theFilte...
virtual bool isValid(FeaturePtr theFiltersFeature, ResultPtr theResult, GeomShapePtr theShape)=0
Returns true if all filters of the Filters feature are ok for the Shape (taking into account the Reve...
virtual void registerFilter(const std::string &theID, ModelAPI_Filter *theFilter)=0
Register an instance of a filter.
virtual std::string id(FilterPtr theFilter)=0
Returns a filter ID by the filter pointer.
virtual FilterPtr filter(std::string theID)=0
Returns a filter by ID.
ModelAPI_FiltersFactory()
Get instance from Session.
Definition: ModelAPI_FiltersFactory.h:72
virtual std::list< FilterPtr > filters(GeomAPI_Shape::ShapeType theType)=0
Returns the filters that support the given shape type.