109 this->debut = valeur;
116 this->debut = _debut;
117 this->len = (_fin - _debut) / _pas;
120 this->fin = _debut + _pas * this->len;
132 this->debut = _f.debut;
158 class conversion_elementaire
166 conversion_elementaire() {}
169 conversion_elementaire (
const conversion_elementaire& _ce)
180 std::vector<conversion_elementaire> config;
190 std::vector<conversion_elementaire>::iterator i;
191 for (i = this->config.begin(); i != this->config.end(); i ++)
193 delete (*i).p_convers;
201 conversion_elementaire conv_elem;
203 conv_elem.filtre = _f;
204 conv_elem.p_convers = NULL;
207 this->config.push_back (conv_elem);
230 if (_f.len == 1 || _conv.len == 1 || _f.len == _conv.len)
232 conversion_elementaire conv_elem;
233 conv_elem.filtre = _f;
237 this->config.push_back (conv_elem);
257 template <
typename T > T applique_filtre_conversion (T valeur_initiale, std::vector<T>& liste_conversions)
const;
280 template <
typename T>
281 T filtre_conversion::applique_filtre_conversion (T valeur_initiale, std::vector<T>& liste_conversions)
const
284 liste_conversions.clear();
292 std::vector<conversion_elementaire>::const_iterator i;
293 for (i = config.begin(); i != config.end(); i ++)
299 bool si_passe_filtre =
false;
302 if ((*i).filtre.len == 1) {
304 if ((*i).filtre.debut == valeur_initiale)
305 si_passe_filtre =
true;
310 if ( ((*i).filtre.fin - valeur_initiale >= 0) == (valeur_initiale - (*i).filtre.debut >= 0)
311 && (valeur_initiale - (*i).filtre.debut) % (*i).filtre.pas == 0 ) {
312 si_passe_filtre =
true;
317 if (si_passe_filtre) {
321 if ((*i).p_convers != NULL) {
324 if ((*i).filtre.len == 1) {
327 if ((*i).p_convers->len == 1) {
329 liste_conversions.push_back ((*i).p_convers->debut);
332 for (
int s = (*i).p_convers->debut; s != (*i).p_convers->fin; s += (*i).p_convers->pas) {
333 liste_conversions.push_back (s);
335 liste_conversions.push_back ((*i).p_convers->fin);
341 int rang = (valeur_initiale - (*i).filtre.debut) / (*i).filtre.pas;
343 int valeur_convertie = (*i).p_convers->debut + rang * (*i).p_convers->pas;
346 liste_conversions.push_back (valeur_convertie);
350 liste_conversions.push_back (valeur_initiale);
355 return liste_conversions.size();
Definition: DataIdFilter.hxx:152
Definition: DataIdFilter.hxx:94