diff --git a/include/common/polylib.hh b/include/common/polylib.hh index 8bbefc76..ec74114a 100644 --- a/include/common/polylib.hh +++ b/include/common/polylib.hh @@ -711,9 +711,12 @@ public: winding_base_t result = *this; if (result.is_dynamic()) { - std::reverse(std::get(result.data).begin(), std::get(result.data).end()); + vector_type &v = std::get(result.data); + std::reverse(v.begin(), v.end()); } else { - std::reverse(std::get(result.data).begin(), std::get(result.data).end()); + for (size_t i = 0; i < result.size() / 2; i++) { + std::swap(result[i], result[result.size() - i - 1]); + } } return result;