2015-07-01 18:14:05 +00:00
|
|
|
%module{Slic3r::XS};
|
|
|
|
|
|
|
|
%{
|
2015-12-07 23:39:54 +00:00
|
|
|
#include <xsinit.h>
|
2015-07-01 18:14:05 +00:00
|
|
|
#include "libslic3r/GCode.hpp"
|
2016-12-21 22:09:58 +00:00
|
|
|
#include "libslic3r/GCode/CoolingBuffer.hpp"
|
2015-07-01 18:14:05 +00:00
|
|
|
%}
|
|
|
|
|
2016-12-21 22:09:58 +00:00
|
|
|
%name{Slic3r::GCode::CoolingBuffer} class CoolingBuffer {
|
|
|
|
CoolingBuffer(GCode* gcode)
|
|
|
|
%code{% RETVAL = new CoolingBuffer(*gcode); %};
|
|
|
|
~CoolingBuffer();
|
|
|
|
Ref<GCode> gcodegen();
|
|
|
|
|
2017-05-03 16:28:22 +00:00
|
|
|
std::string append(std::string gcode, size_t object_id, size_t layer_id, bool support_layer);
|
2016-12-21 22:09:58 +00:00
|
|
|
std::string flush();
|
|
|
|
};
|
|
|
|
|
2015-07-01 19:47:17 +00:00
|
|
|
%name{Slic3r::GCode} class GCode {
|
|
|
|
GCode();
|
|
|
|
~GCode();
|
2017-05-03 16:28:22 +00:00
|
|
|
std::string do_export(Print *print, const char *path)
|
|
|
|
%code{%
|
|
|
|
FILE *file = fopen(path, "wb");
|
|
|
|
if (file == nullptr) {
|
|
|
|
RETVAL = std::string("Failed to open ") + path + " for writing.";
|
|
|
|
} else {
|
|
|
|
THIS->do_export(file, *print);
|
|
|
|
fclose(file);
|
|
|
|
RETVAL = std::string();
|
|
|
|
}
|
|
|
|
%};
|
2016-09-12 14:25:15 +00:00
|
|
|
|
2017-05-03 16:28:22 +00:00
|
|
|
Ref<Pointf> origin()
|
|
|
|
%code{% RETVAL = &(THIS->origin()); %};
|
|
|
|
void set_origin(Pointf* pointf)
|
|
|
|
%code{% THIS->set_origin(*pointf); %};
|
2015-07-01 19:47:17 +00:00
|
|
|
Ref<Point> last_pos()
|
2015-07-01 21:00:52 +00:00
|
|
|
%code{% RETVAL = &(THIS->last_pos()); %};
|
2017-05-03 16:28:22 +00:00
|
|
|
|
|
|
|
unsigned int layer_count() const;
|
|
|
|
void set_layer_count(unsigned int value);
|
|
|
|
float elapsed_time() const;
|
|
|
|
void set_elapsed_time(float value);
|
|
|
|
|
2015-12-16 11:33:19 +00:00
|
|
|
void apply_print_config(StaticPrintConfig* print_config)
|
|
|
|
%code{%
|
|
|
|
if (const PrintConfig* config = dynamic_cast<PrintConfig*>(print_config)) {
|
|
|
|
THIS->apply_print_config(*config);
|
|
|
|
} else {
|
|
|
|
CONFESS("A PrintConfig object was not supplied to apply_print_config()");
|
|
|
|
}
|
|
|
|
%};
|
2015-07-02 18:24:16 +00:00
|
|
|
|
2017-05-03 16:28:22 +00:00
|
|
|
Ref<StaticPrintConfig> config()
|
|
|
|
%code{% RETVAL = const_cast<StaticPrintConfig*>(dynamic_cast<const StaticPrintConfig*>(&THIS->config())); %};
|
2015-07-01 19:47:17 +00:00
|
|
|
};
|