%module{Slic3r::XS}; %{ #include #include "libslic3r/ExtrusionSimulator.hpp" %} %name{Slic3r::ExtrusionSimulator} class ExtrusionSimulator { ~ExtrusionSimulator(); %name{_new} ExtrusionSimulator(); Clone 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(const_cast(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 %}