5
#include "BoundingBox.hpp"
6
#include "ClipperUtils.hpp"
7
#include "Polyline.hpp"
10
%name{Slic3r::Polyline} class Polyline {
12
Clone<Polyline> clone()
13
%code{% RETVAL = THIS; %};
15
%code{% RETVAL = THIS->to_AV(); %};
17
%code{% RETVAL = THIS->to_SV_pureperl(); %};
18
void scale(double factor);
19
void translate(double x, double y);
21
%code{% THIS->points.pop_back(); %};
24
Clone<Point> first_point();
25
Clone<Point> last_point();
26
Points equally_spaced_points(double distance)
27
%code{% THIS->equally_spaced_points(distance, &RETVAL); %};
30
void clip_end(double distance);
31
void clip_start(double distance);
32
void extend_end(double distance);
33
void extend_start(double distance);
34
void simplify(double tolerance);
35
void split_at(Point* point, Polyline* p1, Polyline* p2)
36
%code{% THIS->split_at(*point, p1, p2); %};
42
RETVAL = new Polyline ();
43
// ST(0) is class name, ST(1) is first point
44
RETVAL->points.resize(items-1);
45
for (unsigned int i = 1; i < items; i++) {
46
RETVAL->points[i-1].from_SV_check( ST(i) );
54
for (unsigned int i = 1; i < items; i++) {
56
p.from_SV_check( ST(i) );
57
THIS->points.push_back(p);
61
Polyline::append_polyline(polyline)
64
for (Points::const_iterator it = polyline->points.begin(); it != polyline->points.end(); ++it) {
65
THIS->points.push_back((*it));
69
Polyline::rotate(angle, center_sv)
74
center.from_SV_check(center_sv);
75
THIS->rotate(angle, center);
78
Polyline::grow(delta, scale = CLIPPER_OFFSET_SCALE, joinType = ClipperLib::jtSquare, miterLimit = 3)
81
ClipperLib::JoinType joinType
85
polylines.push_back(*THIS);
86
offset(polylines, RETVAL, delta, scale, joinType, miterLimit);