mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	 0558b53493
			
		
	
	
		0558b53493
		
	
	
	
	
		
			
			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.
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			908 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			908 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // 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 ¤t_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_ */
 |