mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Few more include chains broken
This commit is contained in:
		
							parent
							
								
									02838eaa30
								
							
						
					
					
						commit
						c2cd430941
					
				
					 11 changed files with 48 additions and 22 deletions
				
			
		| 
						 | 
				
			
			@ -7,6 +7,7 @@
 | 
			
		|||
#include "GCode/PrintExtents.hpp"
 | 
			
		||||
#include "GCode/WipeTower.hpp"
 | 
			
		||||
#include "ShortestPath.hpp"
 | 
			
		||||
#include "Print.hpp"
 | 
			
		||||
#include "Utils.hpp"
 | 
			
		||||
#include "libslic3r.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,6 @@
 | 
			
		|||
#include "MotionPlanner.hpp"
 | 
			
		||||
#include "Point.hpp"
 | 
			
		||||
#include "PlaceholderParser.hpp"
 | 
			
		||||
#include "Print.hpp"
 | 
			
		||||
#include "PrintConfig.hpp"
 | 
			
		||||
#include "GCode/CoolingBuffer.hpp"
 | 
			
		||||
#include "GCode/SpiralVase.hpp"
 | 
			
		||||
| 
						 | 
				
			
			@ -32,6 +31,10 @@ namespace Slic3r {
 | 
			
		|||
class GCode;
 | 
			
		||||
class GCodePreviewData;
 | 
			
		||||
 | 
			
		||||
namespace { struct Item; }
 | 
			
		||||
struct PrintInstance;
 | 
			
		||||
using PrintObjectPtrs = std::vector<PrintObject*>;
 | 
			
		||||
 | 
			
		||||
class AvoidCrossingPerimeters {
 | 
			
		||||
public:
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
#include "../BoundingBox.hpp"
 | 
			
		||||
#include "../ExtrusionEntity.hpp"
 | 
			
		||||
#include "../ExtrusionEntityCollection.hpp"
 | 
			
		||||
#include "../Layer.hpp"
 | 
			
		||||
#include "../Print.hpp"
 | 
			
		||||
 | 
			
		||||
#include "PrintExtents.hpp"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,3 @@
 | 
			
		|||
#include "libslic3r/libslic3r.h"
 | 
			
		||||
#include "ThumbnailData.hpp"
 | 
			
		||||
 | 
			
		||||
namespace Slic3r {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,4 +24,4 @@ typedef std::function<void(ThumbnailsList & thumbnails, const Vec2ds & sizes, bo
 | 
			
		|||
 | 
			
		||||
} // namespace Slic3r
 | 
			
		||||
 | 
			
		||||
#endif // slic3r_ThumbnailData_hpp_
 | 
			
		||||
#endif // slic3r_ThumbnailData_hpp_
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
#include "Print.hpp"
 | 
			
		||||
#include "ToolOrdering.hpp"
 | 
			
		||||
#include "Layer.hpp"
 | 
			
		||||
 | 
			
		||||
// #define SLIC3R_DEBUG
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +16,6 @@
 | 
			
		|||
 | 
			
		||||
#include <libslic3r.h>
 | 
			
		||||
 | 
			
		||||
#include "../GCodeWriter.hpp"
 | 
			
		||||
 | 
			
		||||
namespace Slic3r {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,8 @@ namespace Slic3r {
 | 
			
		|||
class Print;
 | 
			
		||||
class PrintObject;
 | 
			
		||||
class LayerTools;
 | 
			
		||||
namespace CustomGCode { struct Item; }
 | 
			
		||||
class PrintRegion;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,10 +4,9 @@
 | 
			
		|||
#include "PrintBase.hpp"
 | 
			
		||||
 | 
			
		||||
#include "BoundingBox.hpp"
 | 
			
		||||
#include "ExtrusionEntityCollection.hpp"
 | 
			
		||||
#include "Flow.hpp"
 | 
			
		||||
#include "Point.hpp"
 | 
			
		||||
#include "Layer.hpp"
 | 
			
		||||
#include "Model.hpp"
 | 
			
		||||
#include "Slicing.hpp"
 | 
			
		||||
#include "GCode/ToolOrdering.hpp"
 | 
			
		||||
#include "GCode/WipeTower.hpp"
 | 
			
		||||
| 
						 | 
				
			
			@ -23,6 +22,8 @@ class ModelObject;
 | 
			
		|||
class GCode;
 | 
			
		||||
class GCodePreviewData;
 | 
			
		||||
enum class SlicingMode : uint32_t;
 | 
			
		||||
class Layer;
 | 
			
		||||
class SupportLayer;
 | 
			
		||||
 | 
			
		||||
// Print step IDs for keeping track of the print state.
 | 
			
		||||
enum PrintStep {
 | 
			
		||||
| 
						 | 
				
			
			@ -147,18 +148,11 @@ public:
 | 
			
		|||
    const Layer* 	get_layer(int idx) const { return m_layers[idx]; }
 | 
			
		||||
    Layer* 			get_layer(int idx) 		 { return m_layers[idx]; }
 | 
			
		||||
    // Get a layer exactly at print_z.
 | 
			
		||||
    const Layer*	get_layer_at_printz(coordf_t print_z) const {
 | 
			
		||||
        auto it = Slic3r::lower_bound_by_predicate(m_layers.begin(), m_layers.end(), [print_z](const Layer *layer) { return layer->print_z < print_z; });
 | 
			
		||||
		return (it == m_layers.end() || (*it)->print_z != print_z) ? nullptr : *it;
 | 
			
		||||
	}
 | 
			
		||||
    Layer*			get_layer_at_printz(coordf_t print_z) { return const_cast<Layer*>(std::as_const(*this).get_layer_at_printz(print_z)); }
 | 
			
		||||
    const Layer*	get_layer_at_printz(coordf_t print_z) const;
 | 
			
		||||
    Layer*			get_layer_at_printz(coordf_t print_z);
 | 
			
		||||
    // Get a layer approximately at print_z.
 | 
			
		||||
    const Layer*	get_layer_at_printz(coordf_t print_z, coordf_t epsilon) const {
 | 
			
		||||
        coordf_t limit = print_z - epsilon;
 | 
			
		||||
        auto it = Slic3r::lower_bound_by_predicate(m_layers.begin(), m_layers.end(), [limit](const Layer *layer) { return layer->print_z < limit; });
 | 
			
		||||
        return (it == m_layers.end() || (*it)->print_z > print_z + epsilon) ? nullptr : *it;
 | 
			
		||||
	}
 | 
			
		||||
    Layer*			get_layer_at_printz(coordf_t print_z, coordf_t epsilon) { return const_cast<Layer*>(std::as_const(*this).get_layer_at_printz(print_z, epsilon)); }
 | 
			
		||||
    const Layer*	get_layer_at_printz(coordf_t print_z, coordf_t epsilon) const;
 | 
			
		||||
    Layer*			get_layer_at_printz(coordf_t print_z, coordf_t epsilon);
 | 
			
		||||
 | 
			
		||||
    // print_z: top of the layer; slice_z: center of the layer.
 | 
			
		||||
    Layer* add_layer(int id, coordf_t height, coordf_t print_z, coordf_t slice_z);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@
 | 
			
		|||
#include "ElephantFootCompensation.hpp"
 | 
			
		||||
#include "Geometry.hpp"
 | 
			
		||||
#include "I18N.hpp"
 | 
			
		||||
#include "Layer.hpp"
 | 
			
		||||
#include "SupportMaterial.hpp"
 | 
			
		||||
#include "Surface.hpp"
 | 
			
		||||
#include "Slicing.hpp"
 | 
			
		||||
| 
						 | 
				
			
			@ -2829,4 +2830,28 @@ void PrintObject::project_and_append_custom_supports(
 | 
			
		|||
    } // loop over ModelVolumes
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const Layer* PrintObject::get_layer_at_printz(coordf_t print_z) const {
 | 
			
		||||
    auto it = Slic3r::lower_bound_by_predicate(m_layers.begin(), m_layers.end(), [print_z](const Layer *layer) { return layer->print_z < print_z; });
 | 
			
		||||
    return (it == m_layers.end() || (*it)->print_z != print_z) ? nullptr : *it;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Layer* PrintObject::get_layer_at_printz(coordf_t print_z) { return const_cast<Layer*>(std::as_const(*this).get_layer_at_printz(print_z)); }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Get a layer approximately at print_z.
 | 
			
		||||
const Layer* PrintObject::get_layer_at_printz(coordf_t print_z, coordf_t epsilon) const {
 | 
			
		||||
    coordf_t limit = print_z - epsilon;
 | 
			
		||||
    auto it = Slic3r::lower_bound_by_predicate(m_layers.begin(), m_layers.end(), [limit](const Layer *layer) { return layer->print_z < limit; });
 | 
			
		||||
    return (it == m_layers.end() || (*it)->print_z > print_z + epsilon) ? nullptr : *it;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Layer* PrintObject::get_layer_at_printz(coordf_t print_z, coordf_t epsilon) { return const_cast<Layer*>(std::as_const(*this).get_layer_at_printz(print_z, epsilon)); }
 | 
			
		||||
 | 
			
		||||
} // namespace Slic3r
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,22 +5,22 @@
 | 
			
		|||
#include <condition_variable>
 | 
			
		||||
#include <mutex>
 | 
			
		||||
 | 
			
		||||
#include <boost/filesystem/path.hpp>
 | 
			
		||||
 | 
			
		||||
#include <wx/event.h>
 | 
			
		||||
 | 
			
		||||
#include "libslic3r/Print.hpp"
 | 
			
		||||
#include "libslic3r/PrintBase.hpp"
 | 
			
		||||
#include "libslic3r/GCode/ThumbnailData.hpp"
 | 
			
		||||
#include "libslic3r/Format/SL1.hpp"
 | 
			
		||||
#include "slic3r/Utils/PrintHost.hpp"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace boost { namespace filesystem { class path; } }
 | 
			
		||||
 | 
			
		||||
namespace Slic3r {
 | 
			
		||||
 | 
			
		||||
class DynamicPrintConfig;
 | 
			
		||||
class GCodePreviewData;
 | 
			
		||||
class Model;
 | 
			
		||||
class SLAPrint;
 | 
			
		||||
class SL1Archive;
 | 
			
		||||
 | 
			
		||||
class SlicingStatusEvent : public wxEvent
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ public:
 | 
			
		|||
 | 
			
		||||
	// Apply config over the print. Returns false, if the new config values caused any of the already
 | 
			
		||||
	// processed steps to be invalidated, therefore the task will need to be restarted.
 | 
			
		||||
	Print::ApplyStatus apply(const Model &model, const DynamicPrintConfig &config);
 | 
			
		||||
    PrintBase::ApplyStatus apply(const Model &model, const DynamicPrintConfig &config);
 | 
			
		||||
	// After calling the apply() function, set_task() may be called to limit the task to be processed by process().
 | 
			
		||||
	// This is useful for calculating SLA supports for a single object only.
 | 
			
		||||
	void 		set_task(const PrintBase::TaskParams ¶ms);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@
 | 
			
		|||
#include "libslic3r/GCode/ThumbnailData.hpp"
 | 
			
		||||
#include "libslic3r/Geometry.hpp"
 | 
			
		||||
#include "libslic3r/ExtrusionEntity.hpp"
 | 
			
		||||
#include "libslic3r/Layer.hpp"
 | 
			
		||||
#include "libslic3r/Utils.hpp"
 | 
			
		||||
#include "libslic3r/Technologies.hpp"
 | 
			
		||||
#include "libslic3r/Tesselate.hpp"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue