PrusaSlicer-NonPlainar/xs/xsp/Geometry.xsp

106 lines
2.0 KiB
Plaintext
Raw Normal View History

2013-11-22 21:38:30 +00:00
%module{Slic3r::XS};
%{
#include <xsinit.h>
#include "libslic3r/Geometry.hpp"
#include "libslic3r/Geometry/ConvexHull.hpp"
#include "libslic3r/ShortestPath.hpp"
2013-11-22 21:38:30 +00:00
%}
2013-11-22 21:38:30 +00:00
%package{Slic3r::Geometry};
Pointfs arrange(size_t total_parts, Vec2d* part, coordf_t dist, BoundingBoxf* bb = NULL)
%code{%
Pointfs points;
if (! Slic3r::Geometry::arrange(total_parts, *part, dist, bb, points))
CONFESS("%zu parts won't fit in your print area!\n", total_parts);
RETVAL = points;
%};
2013-11-22 21:38:30 +00:00
%{
bool
directions_parallel(angle1, angle2)
double angle1
double angle2
CODE:
RETVAL = Slic3r::Geometry::directions_parallel(angle1, angle2);
OUTPUT:
RETVAL
bool
directions_parallel_within(angle1, angle2, max_diff)
double angle1
double angle2
double max_diff
CODE:
RETVAL = Slic3r::Geometry::directions_parallel(angle1, angle2, max_diff);
OUTPUT:
RETVAL
Clone<Polygon>
2013-11-22 21:38:30 +00:00
convex_hull(points)
Points points
CODE:
RETVAL = Slic3r::Geometry::convex_hull(points);
2013-11-22 21:38:30 +00:00
OUTPUT:
RETVAL
2013-11-23 20:39:05 +00:00
std::vector<Points::size_type>
chained_path_from(points, start_from)
Points points
Point* start_from
CODE:
RETVAL = chain_points(points, start_from);
2013-11-23 20:39:05 +00:00
OUTPUT:
RETVAL
2014-11-15 21:41:22 +00:00
double
rad2deg(angle)
double angle
CODE:
RETVAL = Slic3r::Geometry::rad2deg(angle);
OUTPUT:
RETVAL
double
rad2deg_dir(angle)
double angle
CODE:
RETVAL = Slic3r::Geometry::rad2deg_dir(angle);
OUTPUT:
RETVAL
double
deg2rad(angle)
double angle
CODE:
RETVAL = Slic3r::Geometry::deg2rad(angle);
OUTPUT:
RETVAL
Polygons
simplify_polygons(polygons, tolerance)
Polygons polygons
double tolerance
CODE:
Slic3r::Geometry::simplify_polygons(polygons, tolerance, &RETVAL);
OUTPUT:
RETVAL
IV
_constant()
ALIAS:
X = X
Y = Y
Z = Z
PROTOTYPE:
CODE:
RETVAL = ix;
OUTPUT: RETVAL
2013-11-22 21:38:30 +00:00
%}