1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- %module{Slic3r::XS};
- %{
- #include <xsinit.h>
- #include "libslic3r/Flow.hpp"
- %}
- %name{Slic3r::Flow} class Flow {
- ~Flow();
- %name{_new} Flow(float width, float height, float nozzle_diameter);
- void set_height(float height)
- %code{% THIS->height = height; %};
- void set_bridge(bool bridge)
- %code{% THIS->bridge = bridge; %};
- Clone<Flow> clone()
- %code{% RETVAL = THIS; %};
-
- float width()
- %code{% RETVAL = THIS->width; %};
- float height()
- %code{% RETVAL = THIS->height; %};
- float nozzle_diameter()
- %code{% RETVAL = THIS->nozzle_diameter; %};
- bool bridge()
- %code{% RETVAL = THIS->bridge; %};
- float spacing();
- float spacing_to(Flow* other)
- %code{% RETVAL = THIS->spacing(*other); %};
- long scaled_width();
- long scaled_spacing();
- double mm3_per_mm();
- %{
- Flow*
- _new_from_width(CLASS, role, width, nozzle_diameter, height, bridge_flow_ratio)
- char* CLASS;
- FlowRole role;
- std::string width;
- float nozzle_diameter;
- float height;
- float bridge_flow_ratio;
- CODE:
- ConfigOptionFloatOrPercent optwidth;
- optwidth.deserialize(width);
- RETVAL = new Flow(Flow::new_from_config_width(role, optwidth, nozzle_diameter, height, bridge_flow_ratio));
- OUTPUT:
- RETVAL
- Flow*
- _new_from_spacing(CLASS, spacing, nozzle_diameter, height, bridge)
- char* CLASS;
- float spacing;
- float nozzle_diameter;
- float height;
- bool bridge;
- CODE:
- RETVAL = new Flow(Flow::new_from_spacing(spacing, nozzle_diameter, height, bridge));
- OUTPUT:
- RETVAL
- %}
- };
- %package{Slic3r::Flow};
- %{
- IV
- _constant()
- ALIAS:
- FLOW_ROLE_EXTERNAL_PERIMETER = frExternalPerimeter
- FLOW_ROLE_PERIMETER = frPerimeter
- FLOW_ROLE_INFILL = frInfill
- FLOW_ROLE_SOLID_INFILL = frSolidInfill
- FLOW_ROLE_TOP_SOLID_INFILL = frTopSolidInfill
- FLOW_ROLE_SUPPORT_MATERIAL = frSupportMaterial
- FLOW_ROLE_SUPPORT_MATERIAL_INTERFACE = frSupportMaterialInterface
- PROTOTYPE:
- CODE:
- RETVAL = ix;
- OUTPUT: RETVAL
- %}
- coord_t solid_spacing(coord_t width, coord_t distance)
- %code{% RETVAL = Flow::solid_spacing(width, distance); %};
|