8 #ifndef __SIM_DataFilter_h__
9 #define __SIM_DataFilter_h__
38 const char *dataname)
const = 0;
60 const char *)
const override
77 const char *)
const override
87 : myDataType(datatype, 1)
93 myDataType(src.myDataType, 1)
97 const char *dataname)
const override;
110 : myPattern(pattern, 1)
116 myPattern(src.myPattern, 1)
120 const char *dataname)
const override;
132 : myUniqueId(uniqueid)
139 myUniqueId(src.myUniqueId)
143 const char *dataname)
const override;
166 myFilter(src.myFilter),
167 myCount(src.myCount),
172 const char *dataname)
const override
174 if( myCount <= myN &&
175 myFilter.acceptData(data, dataname) )
178 return myCount == myN + 1;
196 : myFilter1(filter1),
203 myFilter1(src.myFilter1),
204 myFilter2(src.myFilter2)
208 const char *dataname)
const override
210 if( myFilter1.acceptData(data, dataname) ||
211 myFilter2.acceptData(data, dataname) )
228 : myFilter1(filter1),
235 myFilter1(src.myFilter1),
236 myFilter2(src.myFilter2)
240 const char *dataname)
const override
242 if( myFilter1.acceptData(data, dataname) &&
243 myFilter2.acceptData(data, dataname) )
265 myFilter(src.myFilter)
269 const char *dataname)
const override
271 if( !myFilter.acceptData(data, dataname) )
286 : myFilterStr(filterstr, 1)
288 myFilterStr.tokenize(myFilterArgs);
295 myFilterStr(src.myFilterStr),
296 myFilterArgs(src.myFilterArgs)
303 const char *dataname)
const override;
~SIM_DataFilterNth() override
~SIM_DataFilterByUniqueId() override
SIM_DataFilterByName(const SIM_DataFilterByName &src)
SIM_DataFilterNot(const SIM_DataFilter &filter)
SIM_DataFilterOr(const SIM_DataFilterOr &src)
bool acceptData(const SIM_Data *, const char *) const override
virtual ~SIM_DataFilter()
SIM_DataFilter(const SIM_DataFilter &)
bool acceptData(const SIM_Data *, const char *) const override
~SIM_DataFilterAnd() override
bool acceptData(const SIM_Data *data, const char *dataname) const override
~SIM_DataFilterAll() override
SIM_DataFilterOr(const SIM_DataFilter &filter1, const SIM_DataFilter &filter2)
SIM_DataFilterAll(const SIM_DataFilterAll &)
This filter accepts any data.
SIM_DataFilterNone(const SIM_DataFilterNone &)
SIM_DataFilterNth(const SIM_DataFilterNth &src)
~SIM_DataFilterRootData() override
SIM_DataFilterByType(const char *datatype)
bool acceptData(const SIM_Data *data, const char *dataname) const override
~SIM_DataFilterNone() override
bool acceptData(const SIM_Data *data, const char *dataname) const override
SIM_DataFilterRootData(const char *filterstr)
SIM_DataFilterByName(const char *pattern)
~SIM_DataFilterOr() override
SIM_DataFilterByUniqueId(const SIM_DataFilterByUniqueId &src)
This filter rejects all data.
LeafData & operator=(const LeafData &)=delete
SIM_DataFilterAnd(const SIM_DataFilterAnd &src)
SIM_DataFilterNth(const SIM_DataFilter &filter, int n)
~SIM_DataFilterByType() override
SIM_DataFilterByType(const SIM_DataFilterByType &src)
~SIM_DataFilterByName() override
virtual bool acceptData(const SIM_Data *data, const char *dataname) const =0
SIM_DataFilterRootData(const SIM_DataFilterRootData &src)
~SIM_DataFilterNot() override
SIM_DataFilterNot(const SIM_DataFilterNot &src)
bool acceptData(const SIM_Data *data, const char *dataname) const override
SIM_DataFilterByUniqueId(const UT_Guid &uniqueid)
SIM_DataFilterAnd(const SIM_DataFilter &filter1, const SIM_DataFilter &filter2)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter