PrusaSlicer-NonPlainar/xs/xsp/Clipper.xsp

193 lines
4.8 KiB
Plaintext
Raw Normal View History

%module{Slic3r::XS};
%{
#include <myinit.h>
#include "clipper.hpp"
#include "ClipperUtils.hpp"
#include "perlglue.hpp"
%}
%package{Slic3r::Geometry::Clipper};
%{
2013-08-26 23:26:44 +00:00
IV
_constant()
ALIAS:
JT_MITER = jtMiter
JT_ROUND = jtRound
JT_SQUARE = jtSquare
CLIPPER_OFFSET_SCALE = CLIPPER_OFFSET_SCALE
2013-08-26 23:26:44 +00:00
CODE:
RETVAL = ix;
OUTPUT: RETVAL
2013-07-16 22:48:29 +00:00
Polygons
2013-08-26 15:58:37 +00:00
offset(polygons, delta, scale = CLIPPER_OFFSET_SCALE, joinType = ClipperLib::jtMiter, miterLimit = 3)
2013-07-16 22:48:29 +00:00
Polygons polygons
const float delta
double scale
ClipperLib::JoinType joinType
double miterLimit
CODE:
offset(polygons, RETVAL, delta, scale, joinType, miterLimit);
OUTPUT:
RETVAL
ExPolygons
2013-08-26 15:58:37 +00:00
offset_ex(polygons, delta, scale = CLIPPER_OFFSET_SCALE, joinType = ClipperLib::jtMiter, miterLimit = 3)
Polygons polygons
const float delta
double scale
ClipperLib::JoinType joinType
double miterLimit
CODE:
offset_ex(polygons, RETVAL, delta, scale, joinType, miterLimit);
OUTPUT:
RETVAL
2013-07-16 22:48:29 +00:00
Polygons
2013-08-26 15:58:37 +00:00
offset2(polygons, delta1, delta2, scale = CLIPPER_OFFSET_SCALE, joinType = ClipperLib::jtMiter, miterLimit = 3)
2013-07-16 22:48:29 +00:00
Polygons polygons
const float delta1
const float delta2
double scale
ClipperLib::JoinType joinType
double miterLimit
CODE:
offset2(polygons, RETVAL, delta1, delta2, scale, joinType, miterLimit);
OUTPUT:
RETVAL
ExPolygons
2013-08-26 15:58:37 +00:00
offset2_ex(polygons, delta1, delta2, scale = CLIPPER_OFFSET_SCALE, joinType = ClipperLib::jtMiter, miterLimit = 3)
Polygons polygons
const float delta1
const float delta2
double scale
ClipperLib::JoinType joinType
double miterLimit
CODE:
offset2_ex(polygons, RETVAL, delta1, delta2, scale, joinType, miterLimit);
OUTPUT:
RETVAL
2013-07-16 23:21:30 +00:00
Polygons
diff(subject, clip, safety_offset = false)
Polygons subject
Polygons clip
bool safety_offset
CODE:
diff(subject, clip, RETVAL, safety_offset);
OUTPUT:
RETVAL
2013-07-16 18:29:15 +00:00
ExPolygons
diff_ex(subject, clip, safety_offset = false)
Polygons subject
Polygons clip
bool safety_offset
CODE:
2013-07-16 23:21:30 +00:00
diff(subject, clip, RETVAL, safety_offset);
OUTPUT:
RETVAL
2013-11-21 13:15:38 +00:00
Polylines
diff_pl(subject, clip)
Polylines subject
Polygons clip
CODE:
diff(subject, clip, RETVAL);
OUTPUT:
RETVAL
2013-07-16 23:21:30 +00:00
Polygons
intersection(subject, clip, safety_offset = false)
Polygons subject
Polygons clip
bool safety_offset
CODE:
intersection(subject, clip, RETVAL, safety_offset);
2013-07-16 18:29:15 +00:00
OUTPUT:
RETVAL
ExPolygons
intersection_ex(subject, clip, safety_offset = false)
Polygons subject
Polygons clip
bool safety_offset
CODE:
2013-07-16 23:21:30 +00:00
intersection(subject, clip, RETVAL, safety_offset);
OUTPUT:
RETVAL
2013-11-21 13:15:38 +00:00
Polylines
intersection_pl(subject, clip)
Polylines subject
Polygons clip
CODE:
intersection(subject, clip, RETVAL);
OUTPUT:
RETVAL
ExPolygons
xor_ex(subject, clip, safety_offset = false)
Polygons subject
Polygons clip
bool safety_offset
CODE:
xor_ex(subject, clip, RETVAL, safety_offset);
OUTPUT:
RETVAL
2013-08-17 10:24:04 +00:00
Polygons
union(subject, safety_offset = false)
Polygons subject
bool safety_offset
CODE:
union_(subject, RETVAL, safety_offset);
OUTPUT:
RETVAL
ExPolygons
union_ex(subject, safety_offset = false)
Polygons subject
bool safety_offset
CODE:
2013-08-17 10:24:04 +00:00
union_(subject, RETVAL, safety_offset);
OUTPUT:
RETVAL
2013-08-26 16:37:19 +00:00
SV*
union_pt(subject, safety_offset = false)
Polygons subject
bool safety_offset
CODE:
// perform operation
ClipperLib::PolyTree polytree;
union_pt(subject, polytree, safety_offset);
RETVAL = polynode_children_2_perl(polytree);
OUTPUT:
RETVAL
2013-11-23 22:21:59 +00:00
Polygons
union_pt_chained(subject, safety_offset = false)
Polygons subject
bool safety_offset
CODE:
// perform operation
union_pt_chained(subject, RETVAL, safety_offset);
OUTPUT:
RETVAL
Polygons
simplify_polygons(subject)
Polygons subject
CODE:
simplify_polygons(subject, RETVAL);
OUTPUT:
RETVAL
%}