mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-22 08:11:11 -06:00
Initial commit of the new Pressure Equalizer, the EdgeGrid
signed distance field structure. The EdgeGrid is used to avoid placing the seams on overhangs.
This commit is contained in:
parent
73cbb4b5dc
commit
f518e0675c
18 changed files with 2417 additions and 71 deletions
|
@ -3,6 +3,7 @@
|
|||
%{
|
||||
#include <xsinit.h>
|
||||
#include "libslic3r/Fill/FillBase.hpp"
|
||||
#include "libslic3r/PolylineCollection.hpp"
|
||||
%}
|
||||
|
||||
%name{Slic3r::Filler} class Filler {
|
||||
|
|
|
@ -107,6 +107,11 @@
|
|||
void set_enable_cooling_markers(bool value)
|
||||
%code{% THIS->enable_cooling_markers = value; %};
|
||||
|
||||
bool enable_extrusion_role_markers()
|
||||
%code{% RETVAL = THIS->enable_extrusion_role_markers; %};
|
||||
void set_enable_extrusion_role_markers(bool value)
|
||||
%code{% THIS->enable_extrusion_role_markers = value; %};
|
||||
|
||||
int layer_count()
|
||||
%code{% RETVAL = THIS->layer_count; %};
|
||||
void set_layer_count(int value)
|
||||
|
|
32
xs/xsp/GCodePressureEqualizer.xsp
Normal file
32
xs/xsp/GCodePressureEqualizer.xsp
Normal file
|
@ -0,0 +1,32 @@
|
|||
%module{Slic3r::XS};
|
||||
|
||||
%{
|
||||
#include <xsinit.h>
|
||||
#include "libslic3r/GCode/PressureEqualizer.hpp"
|
||||
%}
|
||||
|
||||
%name{Slic3r::GCode::PressureEqualizer} class GCodePressureEqualizer {
|
||||
GCodePressureEqualizer(StaticPrintConfig* config)
|
||||
%code%{ RETVAL = new GCodePressureEqualizer(dynamic_cast<GCodeConfig*>(config)); %};
|
||||
~GCodePressureEqualizer();
|
||||
|
||||
void reset();
|
||||
|
||||
// Process a next batch of G-code lines. Flush the internal buffers if asked for.
|
||||
// const char* process(const char *szGCode, bool flush);
|
||||
// std::string process(const char *szGCode, bool flush)
|
||||
// %code{% const char *out = THIS->process(szGCode, flush); RETVAL = (out == NULL) ? "" : std::string(out); %};
|
||||
|
||||
%{
|
||||
|
||||
SV*
|
||||
GCodePressureEqualizer::process(const char *szGCode, bool flush)
|
||||
CODE:
|
||||
const char *out = THIS->process(szGCode, flush);
|
||||
RETVAL = newSVpv(out, THIS->get_output_buffer_length());
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
%}
|
||||
|
||||
};
|
|
@ -209,6 +209,10 @@ GCodeWriter* O_OBJECT_SLIC3R
|
|||
Ref<GCodeWriter> O_OBJECT_SLIC3R_T
|
||||
Clone<GCodeWriter> O_OBJECT_SLIC3R_T
|
||||
|
||||
GCodePressureEqualizer* O_OBJECT_SLIC3R
|
||||
Ref<GCodePressureEqualizer> O_OBJECT_SLIC3R_T
|
||||
Clone<GCodePressureEqualizer> O_OBJECT_SLIC3R_T
|
||||
|
||||
BridgeDetector* O_OBJECT_SLIC3R
|
||||
Ref<BridgeDetector> O_OBJECT_SLIC3R_T
|
||||
Clone<BridgeDetector> O_OBJECT_SLIC3R_T
|
||||
|
|
|
@ -102,6 +102,9 @@
|
|||
%typemap{GCodeSender*};
|
||||
%typemap{Ref<GCodeSender>}{simple};
|
||||
%typemap{Clone<GCodeSender>}{simple};
|
||||
%typemap{GCodePressureEqualizer*};
|
||||
%typemap{Ref<GCodePressureEqualizer>}{simple};
|
||||
%typemap{Clone<GCodePressureEqualizer>}{simple};
|
||||
%typemap{BridgeDetector*};
|
||||
%typemap{Ref<BridgeDetector>}{simple};
|
||||
%typemap{Clone<BridgeDetector>}{simple};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue