diff options
author | bubnikv <bubnikv@gmail.com> | 2016-04-11 18:10:13 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2016-04-11 18:10:13 +0300 |
commit | ed83ff37f86cadc1d00ca6e5aec41ad8791e2ef6 (patch) | |
tree | cc0f97c8b6909b5d45a02869a249f2be63d725ce /xs/xsp/ExtrusionSimulator.xsp | |
parent | 9716ee8eca8c56a6a0269a89447254fb10f4dd70 (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.xsp | 50 |
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 + +%} |