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

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/xs
diff options
context:
space:
mode:
authortamasmeszaros <meszaros.q@gmail.com>2020-04-23 19:19:03 +0300
committertamasmeszaros <meszaros.q@gmail.com>2020-04-23 19:19:03 +0300
commit1bffc2b99bedb0d0d76baeec52523dc1fef737e1 (patch)
treeac55976385137cc0d2ec3914a9ef34d7b9d6531a /xs
parent44ca0a6c3d8857428d0b59c5c35859442724928d (diff)
Add ModelArrange.hpp as extension to Model.hpp, use it for duplicating
Refactored Arrange interface: remove the union based BedShapeHint, replace it with proper function overloads WARN: this commit is only intermediate, it does not compile.
Diffstat (limited to 'xs')
-rw-r--r--xs/xsp/Model.xsp7
1 files changed, 4 insertions, 3 deletions
diff --git a/xs/xsp/Model.xsp b/xs/xsp/Model.xsp
index 35b1c01ce..4fb35578d 100644
--- a/xs/xsp/Model.xsp
+++ b/xs/xsp/Model.xsp
@@ -3,6 +3,7 @@
%{
#include <xsinit.h>
#include "libslic3r/Model.hpp"
+#include "libslic3r/ModelArrange.hpp"
#include "libslic3r/Print.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/Slicing.hpp"
@@ -80,9 +81,9 @@
ModelObjectPtrs* objects()
%code%{ RETVAL = &THIS->objects; %};
- bool arrange_objects(double dist, BoundingBoxf* bb = NULL);
- void duplicate(unsigned int copies_num, double dist, BoundingBoxf* bb = NULL);
- void duplicate_objects(unsigned int copies_num, double dist, BoundingBoxf* bb = NULL);
+ bool arrange_objects(double dist, BoundingBoxf* bb = NULL) %code%{ ArrangeParams ap{scaled(dist)}; if (bb) arrange_objects(*THIS, scaled(*bb), ap); else arrange_objects(*THIS, InfiniteBed{}, ap); %};
+ void duplicate(unsigned int copies_num, double dist, BoundingBoxf* bb = NULL) %code%{ ArrangeParams ap{scaled(dist)}; if (bb) duplicate(*THIS, copies_num, scaled(*bb), ap); else duplicate(*THIS, copies_num, InfiniteBed{}, ap); %};
+ void duplicate_objects(unsigned int copies_num, double dist, BoundingBoxf* bb = NULL) %code%{ ArrangeParams ap{scaled(dist)}; if (bb) duplicate_objects(*THIS, copies_num, scaled(*bb), ap); else duplicate_objects(*THIS, copies_num, InfiniteBed{}, ap); %};
void duplicate_objects_grid(unsigned int x, unsigned int y, double dist);
bool looks_like_multipart_object() const;