diff options
Diffstat (limited to 'PyArcWelder/py_arc_welder.h')
-rw-r--r-- | PyArcWelder/py_arc_welder.h | 60 |
1 files changed, 24 insertions, 36 deletions
diff --git a/PyArcWelder/py_arc_welder.h b/PyArcWelder/py_arc_welder.h index ed4e8cc..a8f0819 100644 --- a/PyArcWelder/py_arc_welder.h +++ b/PyArcWelder/py_arc_welder.h @@ -31,49 +31,37 @@ #else #include <Python.h> #endif + +struct py_gcode_arc_args : arc_welder_args { + py_gcode_arc_args() : arc_welder_args() { + log_level = INFO; + py_progress_callback = NULL; + guid = ""; + + }; + py_gcode_arc_args(std::string source_path, std::string target_path, logger* log, std::string progress_guid, PyObject* progress_callback) : arc_welder_args(source_path, target_path, log) { + guid = progress_guid; + py_progress_callback = progress_callback; + }; + + static bool parse_args(PyObject* py_args, py_logger* p_py_logger, py_gcode_arc_args& args, PyObject** py_progress_callback); + int log_level; + std::string guid; + PyObject* py_progress_callback; +}; + class py_arc_welder : public arc_welder { public: - py_arc_welder( - std::string guid, - std::string source_path, - std::string target_path, - py_logger* logger, - double resolution_mm, - double path_tolerance_percent, - double max_radius, - int min_arc_segments, - double mm_per_arc_segment, - bool g90_g91_influences_extruder, - bool allow_3d_arcs, - bool allow_dynamic_precision, - unsigned char default_xyz_precision, - unsigned char default_e_precision, - int buffer_size, - PyObject* py_progress_callback - ): arc_welder( - source_path, - target_path, - logger, - resolution_mm, - path_tolerance_percent, - max_radius, - min_arc_segments, - mm_per_arc_segment, - g90_g91_influences_extruder, - allow_3d_arcs, - allow_dynamic_precision, - default_xyz_precision, - default_e_precision, - buffer_size - ){ - guid_ = guid; - py_progress_callback_ = py_progress_callback; + py_arc_welder(py_gcode_arc_args args): arc_welder( (arc_welder_args)args) + { + guid_ = args.guid; + py_progress_callback_ = args.py_progress_callback; } virtual ~py_arc_welder() { } - static PyObject* build_py_progress(const arc_welder_progress& progress, std::string guid); + static PyObject* build_py_progress(const arc_welder_progress& progress, std::string guid, bool include_detailed_statistics); protected: std::string guid_; virtual bool on_progress_(const arc_welder_progress& progress); |