Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2016-03-19 17:33:58 +0300
committerAlessandro Ranellucci <aar@cpan.org>2016-03-19 21:20:04 +0300
commit6dc42ee902ec630ef21c1f50c96b726a8b56105b (patch)
treeb25c4a5c0468905c92c46202526d863b4cac8859 /xs/src/libslic3r/Line.hpp
parent5ff7511a148bcfcd42c579f5c8e80306376c97d7 (diff)
Variable-width gap fill. Yay! #2960
Diffstat (limited to 'xs/src/libslic3r/Line.hpp')
-rw-r--r--xs/src/libslic3r/Line.hpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/xs/src/libslic3r/Line.hpp b/xs/src/libslic3r/Line.hpp
index c4438792a..ae1f4cb7d 100644
--- a/xs/src/libslic3r/Line.hpp
+++ b/xs/src/libslic3r/Line.hpp
@@ -9,7 +9,9 @@ namespace Slic3r {
class Line;
class Linef3;
class Polyline;
+class ThickLine;
typedef std::vector<Line> Lines;
+typedef std::vector<ThickLine> ThickLines;
class Line
{
@@ -39,6 +41,18 @@ class Line
double direction() const;
Vector vector() const;
Vector normal() const;
+ void extend_end(double distance);
+ void extend_start(double distance);
+ bool intersection(const Line& line, Point* intersection) const;
+};
+
+class ThickLine : public Line
+{
+ public:
+ coordf_t a_width, b_width;
+
+ ThickLine() : a_width(0), b_width(0) {};
+ ThickLine(Point _a, Point _b) : a_width(0), b_width(0), Line(_a, _b) {};
};
class Linef