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

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2018-09-19 12:02:24 +0300
committerbubnikv <bubnikv@gmail.com>2018-09-19 12:02:24 +0300
commit0558b53493a77bae44831cf87bb0f59359828ef5 (patch)
treec3e8dbdf7d91a051c12d9ebbf7606d41047fea96 /src/libslic3r/SlicingAdaptive.hpp
parent3ddaccb6410478ad02d8c0e02d6d8e6eb1785b9f (diff)
WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links libslic3r only. No wxWidgets are allowed to be used from Perl starting from now.
Diffstat (limited to 'src/libslic3r/SlicingAdaptive.hpp')
-rw-r--r--src/libslic3r/SlicingAdaptive.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/libslic3r/SlicingAdaptive.hpp b/src/libslic3r/SlicingAdaptive.hpp
new file mode 100644
index 000000000..bfd081d81
--- /dev/null
+++ b/src/libslic3r/SlicingAdaptive.hpp
@@ -0,0 +1,36 @@
+// Based on implementation by @platsch
+
+#ifndef slic3r_SlicingAdaptive_hpp_
+#define slic3r_SlicingAdaptive_hpp_
+
+#include "Slicing.hpp"
+#include "admesh/stl.h"
+
+namespace Slic3r
+{
+
+class TriangleMesh;
+
+class SlicingAdaptive
+{
+public:
+ void clear();
+ void set_slicing_parameters(SlicingParameters params) { m_slicing_params = params; }
+ void add_mesh(const TriangleMesh *mesh) { m_meshes.push_back(mesh); }
+ void prepare();
+ float cusp_height(float z, float cusp_value, int &current_facet);
+ float horizontal_facet_distance(float z);
+
+protected:
+ SlicingParameters m_slicing_params;
+
+ std::vector<const TriangleMesh*> m_meshes;
+ // Collected faces of all meshes, sorted by raising Z of the bottom most face.
+ std::vector<const stl_facet*> m_faces;
+ // Z component of face normals, normalized.
+ std::vector<float> m_face_normal_z;
+};
+
+}; // namespace Slic3r
+
+#endif /* slic3r_SlicingAdaptive_hpp_ */