diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2017-10-21 14:23:02 +0200 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2017-10-21 14:23:02 +0200 | 
| commit | a22264f5111ff9b2c63ef8e94021d44c03e17a45 (patch) | |
| tree | c2165388bc2395b7feb49ae299feced94e1ae5eb | |
| parent | 207a70f1cd99e9719a878b9c6b3909302a020e93 (diff) | |
spline: don't remove points from config
| -rw-r--r-- | spline/spline.cpp | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/spline/spline.cpp b/spline/spline.cpp index ef1e9c58..1252d3ae 100644 --- a/spline/spline.cpp +++ b/spline/spline.cpp @@ -399,8 +399,8 @@ void spline::ensure_valid(QList<QPointF>& the_points)      const int sz = list.size(); -    QList<QPointF> ret_list; -    ret_list.reserve(sz); +    QList<QPointF> ret_list, ret_list_2; +    ret_list.reserve(sz), ret_list_2.reserve(sz);      const double maxx = max_input(), maxy = max_output(); @@ -422,12 +422,18 @@ void spline::ensure_valid(QList<QPointF>& the_points)          );          if (!overlap) +            ret_list_2.append(pt); + +        if (pt.x() - 1e-2 < maxx && pt.x() >= 0 && +            pt.y() - 1e-2 < maxy && pt.y() >= 0 && !overlap) +        {              ret_list.push_back(pt); +        }      }      if (ret_list != the_points)      { -        s->points = ret_list; +        s->points = std::move(ret_list_2);          the_points = std::move(ret_list);      }  | 
