mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	direction over multiple regions. This allows a single bridge to be drawn over holes, which are too close to each other to allow for separate bridges. Fixes Bridging-Angle not optimal https://github.com/prusa3d/Slic3r/issues/12 Re-allowed adaptive infill line width for solid infills. The adaptive infill line width works in some circumstances, see Issue #15, but the original implementation often changed the line width too aggressively. The current implementation limits the line width change to 20%. Fixes Gaps between infill and perimeter leads to errors in laydown on following layer https://github.com/prusa3d/Slic3r/issues/15
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
%module{Slic3r::XS};
 | 
						|
 | 
						|
%{
 | 
						|
#include <xsinit.h>
 | 
						|
#include "libslic3r/BridgeDetector.hpp"
 | 
						|
%}
 | 
						|
 | 
						|
%name{Slic3r::BridgeDetector} class BridgeDetector {
 | 
						|
    ~BridgeDetector();
 | 
						|
    
 | 
						|
    bool detect_angle();
 | 
						|
    Polygons coverage();
 | 
						|
    %name{coverage_by_angle} Polygons coverage(double angle);
 | 
						|
    Polylines unsupported_edges();
 | 
						|
    %name{unsupported_edges_by_angle} Polylines unsupported_edges(double angle);
 | 
						|
    double angle()
 | 
						|
        %code{% RETVAL = THIS->angle; %};
 | 
						|
    double resolution()
 | 
						|
        %code{% RETVAL = THIS->resolution; %};
 | 
						|
%{
 | 
						|
 | 
						|
BridgeDetector*
 | 
						|
BridgeDetector::new(expolygon, lower_slices, extrusion_width)
 | 
						|
    ExPolygon*              expolygon;
 | 
						|
    ExPolygonCollection*    lower_slices;
 | 
						|
    long                    extrusion_width;
 | 
						|
    CODE:
 | 
						|
        RETVAL = new BridgeDetector(*expolygon, *lower_slices, extrusion_width);
 | 
						|
    OUTPUT:
 | 
						|
        RETVAL
 | 
						|
 | 
						|
BridgeDetector*
 | 
						|
BridgeDetector::new_expolygons(expolygons, lower_slices, extrusion_width)
 | 
						|
    ExPolygonCollection*    expolygons;
 | 
						|
    ExPolygonCollection*    lower_slices;
 | 
						|
    long                    extrusion_width;
 | 
						|
    CODE:
 | 
						|
        RETVAL = new BridgeDetector(expolygons->expolygons, *lower_slices, extrusion_width);
 | 
						|
    OUTPUT:
 | 
						|
        RETVAL
 | 
						|
 | 
						|
%}
 | 
						|
};
 |