diff options
author | Alessandro Ranellucci <aar@cpan.org> | 2014-08-03 21:42:29 +0400 |
---|---|---|
committer | Alessandro Ranellucci <aar@cpan.org> | 2014-08-03 21:42:29 +0400 |
commit | 6adc3477c9d08d2cfa0e6902b3d241a9193e50d4 (patch) | |
tree | 98e1a403cec185a06501056d1811b4d39d731bf5 /xs/src/libslic3r/Surface.hpp | |
parent | b8676241e0c9f91eb9db5b6757e73edfe7f85598 (diff) |
Moved C++ code into new libslic3r directory
Diffstat (limited to 'xs/src/libslic3r/Surface.hpp')
-rw-r--r-- | xs/src/libslic3r/Surface.hpp | 35 |
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 |