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:
Diffstat (limited to 'xs/src/libslic3r/Surface.hpp')
-rw-r--r--xs/src/libslic3r/Surface.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/xs/src/libslic3r/Surface.hpp b/xs/src/libslic3r/Surface.hpp
new file mode 100644
index 000000000..ce0f02477
--- /dev/null
+++ b/xs/src/libslic3r/Surface.hpp
@@ -0,0 +1,35 @@
+#ifndef slic3r_Surface_hpp_
+#define slic3r_Surface_hpp_
+
+#include "ExPolygon.hpp"
+
+namespace Slic3r {
+
+enum SurfaceType { stTop, stBottom, stBottomBridge, stInternal, stInternalSolid, stInternalBridge, stInternalVoid };
+
+class Surface
+{
+ public:
+ ExPolygon expolygon;
+ SurfaceType surface_type;
+ double thickness; // in mm
+ unsigned short thickness_layers; // in layers
+ double bridge_angle; // in radians, ccw, 0 = East, only 0+ (negative means undefined)
+ unsigned short extra_perimeters;
+ double area() const;
+ bool is_solid() const;
+ bool is_external() const;
+ bool is_bottom() const;
+ bool is_bridge() const;
+
+ #ifdef SLIC3RXS
+ void from_SV_check(SV* surface_sv);
+ #endif
+};
+
+typedef std::vector<Surface> Surfaces;
+typedef std::vector<Surface*> SurfacesPtr;
+
+}
+
+#endif