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

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2014-11-16 00:41:22 +0300
committerAlessandro Ranellucci <aar@cpan.org>2014-11-16 00:41:22 +0300
commit379cde30e296482e784825e9df586fe654023c45 (patch)
treef6b943dea5f4e147d181e36e9b524acc61dc9356 /xs/src/libslic3r/BridgeDetector.hpp
parent36825e0134c2f7ff2db1906cc0ecd8237ad84174 (diff)
Ported Slic3r::BridgeDetector to XS
Diffstat (limited to 'xs/src/libslic3r/BridgeDetector.hpp')
-rw-r--r--xs/src/libslic3r/BridgeDetector.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/xs/src/libslic3r/BridgeDetector.hpp b/xs/src/libslic3r/BridgeDetector.hpp
new file mode 100644
index 000000000..ab2571289
--- /dev/null
+++ b/xs/src/libslic3r/BridgeDetector.hpp
@@ -0,0 +1,33 @@
+#ifndef slic3r_BridgeDetector_hpp_
+#define slic3r_BridgeDetector_hpp_
+
+#include <myinit.h>
+#include "ExPolygon.hpp"
+#include "ExPolygonCollection.hpp"
+#include <string>
+
+namespace Slic3r {
+
+class BridgeDetector {
+ public:
+ ExPolygon expolygon;
+ ExPolygonCollection lower_slices;
+ double extrusion_width; // scaled
+ double resolution;
+ double angle;
+
+ BridgeDetector(const ExPolygon &_expolygon, const ExPolygonCollection &_lower_slices, coord_t _extrusion_width);
+ bool detect_angle();
+ void coverage(Polygons* coverage) const;
+ void coverage(double angle, Polygons* coverage) const;
+ void unsupported_edges(Polylines* unsupported) const;
+ void unsupported_edges(double angle, Polylines* unsupported) const;
+
+ private:
+ Polylines _edges; // representing the supporting edges
+ ExPolygons _anchors;
+};
+
+}
+
+#endif