diff options
author | Alessandro Ranellucci <aar@cpan.org> | 2014-11-16 00:41:22 +0300 |
---|---|---|
committer | Alessandro Ranellucci <aar@cpan.org> | 2014-11-16 00:41:22 +0300 |
commit | 379cde30e296482e784825e9df586fe654023c45 (patch) | |
tree | f6b943dea5f4e147d181e36e9b524acc61dc9356 /xs/src/libslic3r/BridgeDetector.hpp | |
parent | 36825e0134c2f7ff2db1906cc0ecd8237ad84174 (diff) |
Ported Slic3r::BridgeDetector to XS
Diffstat (limited to 'xs/src/libslic3r/BridgeDetector.hpp')
-rw-r--r-- | xs/src/libslic3r/BridgeDetector.hpp | 33 |
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 |