IBlobFilterParams.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 // Qt includes
5 #include <QtCore/QStringList>
6 
7 // ACF includes
8 #include <istd/istd.h>
9 #include <istd/TRange.h>
10 #include <iser/ISerializable.h>
12 #include <iprm/IOptionsList.h>
13 
14 
15 namespace iblob
16 {
17 
18 
23 {
24 public:
26  {
31 
36  };
37 
39 
41  {
50  };
51 
54  FC_BETWEEN,
55  FC_OUTSIDE,
56  FC_LESS,
57  FC_EQUAL,
58  FC_GREATER,
62 
63  struct Filter
64  {
65  Filter()
66  :operation(FO_INCLUDE),
67  condition(FC_BETWEEN)
68  {
69  }
70 
71  QByteArray featureId;
72  FilterOperation operation;
73  FilterCondition condition;
74  istd::CRange valueRange;
75  };
76 
77  virtual const iprm::IOptionsList* GetSupportedProperties() const = 0;
78  virtual bool IsFiltersEnabled() const = 0;
79  virtual void SetFiltersEnabled(bool enabled = true) = 0;
80  virtual int GetFiltersCount() const = 0;
81  virtual Filter& GetFilterAt(int index) = 0;
82  virtual const Filter& GetFilterAt(int index) const = 0;
83  virtual void RemoveFilterAt(int index) = 0;
84  virtual void ResetFilters() = 0;
85  virtual void AddFilter(const Filter& filterInfo) = 0;
86 };
87 
88 
89 } // namespace iblob
90 
91 
virtual void SetFiltersEnabled(bool enabled=true)=0
I_DECLARE_ENUM(FilterCondition, FC_BETWEEN, FC_OUTSIDE, FC_LESS, FC_EQUAL, FC_GREATER, FC_LESS_EQUAL, FC_GREATER_EQUAL, FC_NOT_EQUAL) struct Filter
If the extracted blob feature matches specified conditions, it will be exculded from the result list...
virtual Filter & GetFilterAt(int index)=0
virtual void RemoveFilterAt(int index)=0
If the extracted blob feature matches specified conditions, it will be passed through.
virtual int GetFiltersCount() const =0
virtual void AddFilter(const Filter &filterInfo)=0
Interface for parameters of the blob filtering.
virtual bool IsFiltersEnabled() const =0
virtual const iprm::IOptionsList * GetSupportedProperties() const =0
virtual void ResetFilters()=0

© 2007-2017 Witold Gantzke and Kirill Lepskiy