180 if(end_it == spectrum.end())
195 spectrum.erase(end_it, spectrum.end());
196 spectrum.erase(spectrum.begin(), begin_it);
350 double rt_value)
const
371 trace = the_filter.
filter(trace);
377 auto begin_it = trace.begin();
378 auto end_it = trace.end();
387 while(iter > begin_it)
400 double checked_value;
410 qFatal(
"Programming error.");
412 checked_value = dt_value;
418 checked_value = rt_value;
423 qFatal(
"Programming error.");
428 if(!spec.selectionPolygon.contains(QPointF(checked_value, iter->x)))
429 iter = trace.erase(iter);
463 qDebug() <<
"The left line goes: (" << xA_left <<
"," << yA_left
464 <<
")->(" << xB_left <<
"," << yB_left <<
")";
466 if((xB_left - xA_left) * (iter->x - yA_left) -
467 (yB_left - yA_left) * (checked_value - xA_left) >
473 qDebug() << qSetRealNumberPrecision(10)
474 <<
"Filtered out point (left of left line):"
475 << checked_value <<
"-" << iter->x;
477 iter = trace.erase(iter);
486 qDebug() << qSetRealNumberPrecision(10)
487 <<
"Kept point (right of left line):" << checked_value
505 qDebug() <<
"The right line goes: (" << xA_right <<
"," << yA_right
506 <<
")->(" << xB_right <<
"," << yB_right <<
")";
508 if((xB_right - xA_right) * (iter->x - yA_right) -
509 (yB_right - yA_right) * (checked_value - xA_right) <
512 qDebug() << qSetRealNumberPrecision(10)
513 <<
"Filtered out point (right of right line):"
514 << checked_value <<
"-" << iter->x;
518 iter = trace.erase(iter);
527 if(iter->x >= 449 && iter->x <= 450 && checked_value > 19.5 &&
530 << qSetRealNumberPrecision(10)
531 <<
"SHOULD NOT Definitively kept point (left of right line):"
532 << checked_value <<
"-" << iter->x;
535 << qSetRealNumberPrecision(10)
536 <<
"MIGHT Definitively kept point (left of right line):"
537 << checked_value <<
"-" << iter->x;
std::vector< DataPoint >::iterator findFirstEqualOrGreaterX(std::vector< DataPoint >::iterator begin, std::vector< DataPoint >::iterator end, const double &value)
find the first element in which X is equal or greater than the value searched important : it implies ...
std::vector< DataPoint >::iterator findFirstGreaterX(std::vector< DataPoint >::iterator begin, std::vector< DataPoint >::iterator end, const double &value)
find the first element in which X is greater than the value searched important : it implies that Trac...