New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()

This commit is contained in:
Alessandro Ranellucci 2014-04-24 13:43:24 +02:00
parent d458a7c4d2
commit 6201aacf88
21 changed files with 358 additions and 27 deletions

View file

@ -27,6 +27,8 @@
Polygons simplify_p(double tolerance);
Polylines medial_axis(double max_width, double min_width)
%code{% THIS->medial_axis(max_width, min_width, &RETVAL); %};
Polygons get_trapezoids(double angle)
%code{% THIS->get_trapezoids(&RETVAL, angle); %};
%{
ExPolygon*
@ -49,7 +51,7 @@ ExPolygon::rotate(angle, center_sv)
CODE:
Point center;
center.from_SV_check(center_sv);
THIS->rotate(angle, &center);
THIS->rotate(angle, center);
%}
};

View file

@ -13,7 +13,8 @@
%code{% THIS->expolygons.clear(); %};
void scale(double factor);
void translate(double x, double y);
void rotate(double angle, Point* center);
void rotate(double angle, Point* center)
%code{% THIS->rotate(angle, *center); %};
int count()
%code{% RETVAL = THIS->expolygons.size(); %};
bool contains_point(Point* point);

View file

@ -48,7 +48,7 @@ Line::rotate(angle, center_sv)
CODE:
Point center;
center.from_SV_check(center_sv);
THIS->rotate(angle, &center);
THIS->rotate(angle, center);
bool
Line::coincides_with(line_sv)

View file

@ -37,7 +37,7 @@ Point::rotate(angle, center_sv)
CODE:
Point center;
center.from_SV_check(center_sv);
THIS->rotate(angle, &center);
THIS->rotate(angle, center);
bool
Point::coincides_with(point_sv)

View file

@ -56,7 +56,7 @@ Polygon::rotate(angle, center_sv)
CODE:
Point center;
center.from_SV_check(center_sv);
THIS->rotate(angle, &center);
THIS->rotate(angle, center);
%}
};

View file

@ -70,7 +70,7 @@ Polyline::rotate(angle, center_sv)
CODE:
Point center;
center.from_SV_check(center_sv);
THIS->rotate(angle, &center);
THIS->rotate(angle, center);
Polygons
Polyline::grow(delta, scale = CLIPPER_OFFSET_SCALE, joinType = ClipperLib::jtSquare, miterLimit = 3)