mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-05-14 13:02:39 -07:00
Workaround Clipper changing point coordinates while performing simplify_polygons(), thus causing a crash in Slic3r. #2306
This commit is contained in:
@@ -224,7 +224,7 @@ ExtrusionLoop::length() const
|
||||
return len;
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ExtrusionLoop::split_at_vertex(const Point &point)
|
||||
{
|
||||
for (ExtrusionPaths::iterator path = this->paths.begin(); path != this->paths.end(); ++path) {
|
||||
@@ -261,10 +261,10 @@ ExtrusionLoop::split_at_vertex(const Point &point)
|
||||
// we can now override the old path list with the new one and stop looping
|
||||
this->paths = new_paths;
|
||||
}
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
CONFESS("Point not found");
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -92,7 +92,7 @@ class ExtrusionLoop : public ExtrusionEntity
|
||||
Point last_point() const;
|
||||
void polygon(Polygon* polygon) const;
|
||||
double length() const;
|
||||
void split_at_vertex(const Point &point);
|
||||
bool split_at_vertex(const Point &point);
|
||||
void split_at(const Point &point);
|
||||
void clip_end(double distance, ExtrusionPaths* paths) const;
|
||||
bool has_overhang_point(const Point &point) const;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
void append(ExtrusionPath* path)
|
||||
%code{% THIS->paths.push_back(*path); %};
|
||||
double length();
|
||||
void split_at_vertex(Point* point)
|
||||
bool split_at_vertex(Point* point)
|
||||
%code{% THIS->split_at_vertex(*point); %};
|
||||
void split_at(Point* point)
|
||||
%code{% THIS->split_at(*point); %};
|
||||
|
||||
Reference in New Issue
Block a user