mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-25 07:34:03 -06:00
Fixes after the merge of changes by @alexrj.
This commit is contained in:
parent
5d18657ac5
commit
126126cc78
14 changed files with 277 additions and 21 deletions
38
xs/src/libslic3r/SlicingAdaptive.hpp
Normal file
38
xs/src/libslic3r/SlicingAdaptive.hpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
// 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_layer_height_range(float min, float max) { m_layer_height_min = min; m_layer_height_max = max; }
|
||||
void add_mesh(const TriangleMesh *mesh) { m_meshes.push_back(mesh); }
|
||||
void prepare();
|
||||
float cusp_height(float z, float cusp_value, int ¤t_facet);
|
||||
float horizontal_facet_distance(float z);
|
||||
|
||||
protected:
|
||||
float m_layer_height_min;
|
||||
float m_layer_height_max;
|
||||
float m_max_z;
|
||||
|
||||
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_ */
|
Loading…
Add table
Add a link
Reference in a new issue