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

Flow.xsp « xsp « xs - github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3056b400156d8d93650e78d1e95b99052031fbff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
%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);
    Clone<Flow> clone()
        %code{% RETVAL = THIS; %};
    
    float width();
    float height();
    float nozzle_diameter();
    bool bridge();
    float spacing();
    int   scaled_width();
    int   scaled_spacing();
    double mm3_per_mm();
%{

Flow*
_new_from_width(CLASS, role, width, nozzle_diameter, height)
    char*           CLASS;
    FlowRole        role;
    std::string     width;
    float           nozzle_diameter;
    float           height;
    CODE:
        ConfigOptionFloatOrPercent optwidth;
        optwidth.deserialize(width, ForwardCompatibilitySubstitutionRule::Disable);
        RETVAL = new Flow(Flow::new_from_config_width(role, optwidth, nozzle_diameter, height));
    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

%}