Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2016-04-11 18:10:13 +0300
committerbubnikv <bubnikv@gmail.com>2016-04-11 18:10:13 +0300
commited83ff37f86cadc1d00ca6e5aec41ad8791e2ef6 (patch)
treecc0f97c8b6909b5d45a02869a249f2be63d725ce /xs/xsp/ExtrusionSimulator.xsp
parent9716ee8eca8c56a6a0269a89447254fb10f4dd70 (diff)
Simulation of extrusion in a plane, useful for finding out under / over-extruions.
Diffstat (limited to 'xs/xsp/ExtrusionSimulator.xsp')
-rw-r--r--xs/xsp/ExtrusionSimulator.xsp50
1 files changed, 50 insertions, 0 deletions
diff --git a/xs/xsp/ExtrusionSimulator.xsp b/xs/xsp/ExtrusionSimulator.xsp
new file mode 100644
index 000000000..9395913b4
--- /dev/null
+++ b/xs/xsp/ExtrusionSimulator.xsp
@@ -0,0 +1,50 @@
+%module{Slic3r::XS};
+
+%{
+#include <xsinit.h>
+#include "libslic3r/ExtrusionSimulator.hpp"
+%}
+
+%name{Slic3r::ExtrusionSimulator} class ExtrusionSimulator {
+ ~ExtrusionSimulator();
+ %name{_new} ExtrusionSimulator();
+
+ Clone<ExtrusionSimulator> clone()
+ %code{% RETVAL = THIS; %};
+
+ void set_image_size(Point *image_size)
+ %code{% THIS->set_image_size(*image_size); %};
+ void set_viewport(BoundingBox *viewport)
+ %code{% THIS->set_viewport(*viewport); %};
+ void set_bounding_box(BoundingBox *bbox)
+ %code{% THIS->set_bounding_box(*bbox); %};
+
+ void reset_accumulator();
+ void extrude_to_accumulator(ExtrusionPath *path, Point *shift, ExtrusionSimulationType simulationType)
+ %code{% THIS->extrude_to_accumulator(*path, *shift, simulationType); %};
+ void evaluate_accumulator(ExtrusionSimulationType simulationType);
+ void* image_ptr()
+ %code{% RETVAL = const_cast<void*>(const_cast<Slic3r::ExtrusionSimulator*>(THIS)->image_ptr()); %};
+
+%{
+
+%}
+};
+
+%package{Slic3r::ExtrusionSimulator};
+%{
+
+IV
+_constant()
+ ALIAS:
+ EXTRSIM_SIMPLE = ExtrusionSimulationSimple
+ EXTRSIM_DONT_SPREAD = ExtrusionSimulationDontSpread
+ EXTRSIM_SPREAD_NFULL = ExtrisopmSimulationSpreadNotOverfilled
+ EXTRSIM_SPREAD_FULL = ExtrusionSimulationSpreadFull
+ EXTRSIM_SPREAD_EXCESS = ExtrusionSimulationSpreadExcess
+ PROTOTYPE:
+ CODE:
+ RETVAL = ix;
+ OUTPUT: RETVAL
+
+%}