diff --git a/lib/Slic3r/ExtrusionLoop.pm b/lib/Slic3r/ExtrusionLoop.pm index 2cf90c8d5..57f380eec 100644 --- a/lib/Slic3r/ExtrusionLoop.pm +++ b/lib/Slic3r/ExtrusionLoop.pm @@ -13,13 +13,4 @@ sub split_at { ); } -sub make_counter_clockwise { - my $self = shift; - if (!$self->polygon->is_counter_clockwise) { - $self->reverse; - return 1; - } - return 0; -} - 1; diff --git a/xs/src/ExtrusionEntity.cpp b/xs/src/ExtrusionEntity.cpp index fe857d253..9c0012f54 100644 --- a/xs/src/ExtrusionEntity.cpp +++ b/xs/src/ExtrusionEntity.cpp @@ -41,4 +41,10 @@ ExtrusionLoop::split_at_first_point() return this->split_at_index(0); } +bool +ExtrusionLoop::make_counter_clockwise() +{ + return this->polygon.make_counter_clockwise(); +} + } diff --git a/xs/src/ExtrusionEntity.hpp b/xs/src/ExtrusionEntity.hpp index 2302ad52b..0f8f1cb2a 100644 --- a/xs/src/ExtrusionEntity.hpp +++ b/xs/src/ExtrusionEntity.hpp @@ -48,6 +48,7 @@ class ExtrusionLoop : public ExtrusionEntity Polygon polygon; ExtrusionPath* split_at_index(int index); ExtrusionPath* split_at_first_point(); + bool make_counter_clockwise(); }; } diff --git a/xs/xsp/ExtrusionLoop.xsp b/xs/xsp/ExtrusionLoop.xsp index 9bcd196a3..ecc117ef1 100644 --- a/xs/xsp/ExtrusionLoop.xsp +++ b/xs/xsp/ExtrusionLoop.xsp @@ -17,6 +17,7 @@ %code{% const char* CLASS = "Slic3r::ExtrusionPath"; RETVAL = THIS->split_at_index(index); %}; ExtrusionPath* split_at_first_point() %code{% const char* CLASS = "Slic3r::ExtrusionPath"; RETVAL = THIS->split_at_first_point(); %}; + bool make_counter_clockwise(); %{ ExtrusionLoop*