diff options
author | FormerLurker <hochgebe@gmail.com> | 2021-07-02 22:24:47 +0300 |
---|---|---|
committer | FormerLurker <hochgebe@gmail.com> | 2021-07-02 22:24:47 +0300 |
commit | 18d1e992d3773485d2b7b05ffaec1ea00b16c777 (patch) | |
tree | 42983ee7c351d32d38afb437642ed9f9e861a024 /ArcWelder/segmented_arc.cpp | |
parent | 65768d59a9ed785ddb740fc6df67d2912d2a5bdf (diff) |
Add support for variable line widths.
Diffstat (limited to 'ArcWelder/segmented_arc.cpp')
-rw-r--r-- | ArcWelder/segmented_arc.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/ArcWelder/segmented_arc.cpp b/ArcWelder/segmented_arc.cpp index 4da8f8e..62593d7 100644 --- a/ArcWelder/segmented_arc.cpp +++ b/ArcWelder/segmented_arc.cpp @@ -127,11 +127,12 @@ bool segmented_arc::try_add_point(printer_point p) bool point_added = false; // if we don't have enough segnemts to check the shape, just add - if (points_.count() > get_max_segments() - 1) + + if (points_.count() == points_.get_max_size()) { // Too many points, we can't add more - return false; - } + points_.resize(points_.get_max_size()*2); + } if (points_.count() > 0) { printer_point p1 = points_[points_.count() - 1]; @@ -193,9 +194,6 @@ bool segmented_arc::try_add_point_internal_(printer_point p) if (points_.count() < get_min_segments() - 1) return false; - // Create a test circle - circle target_circle; - // the circle is new.. we have to test it now, which is expensive :( points_.push_back(p); double previous_shape_length = original_shape_length_; |