Update to wagyu-0.2.1 (eec53a6)

This commit is contained in:
Eric Fischer 2016-12-14 14:14:55 -08:00
parent b3c116b989
commit 275d25739d
6 changed files with 15 additions and 9 deletions

@ -2,6 +2,7 @@
#ifdef DEBUG
#include <iostream>
#include <sstream>
#endif
#include <mapbox/geometry/wagyu/bound.hpp>
@ -246,7 +247,7 @@ void set_winding_count(active_bound_list_itr<T>& bnd_itr,
if ((*rev_bnd_itr)->winding_count * (*rev_bnd_itr)->winding_delta < 0) {
// prev edge is 'decreasing' WindCount (WC) toward zero
// so we're outside the previous polygon ...
if (std::abs((*rev_bnd_itr)->winding_count) > 1) {
if (std::abs(static_cast<int>((*rev_bnd_itr)->winding_count)) > 1) {
// outside prev poly but still inside another.
// when reversing direction of prev poly use the same WC
if ((*rev_bnd_itr)->winding_delta * (*bnd_itr)->winding_delta < 0) {
@ -320,7 +321,7 @@ bool is_contributing(bound<T> const& bnd,
}
break;
case fill_type_non_zero:
if (std::abs(bnd.winding_count) != 1) {
if (std::abs(static_cast<int>(bnd.winding_count)) != 1) {
return false;
}
break;

@ -79,10 +79,11 @@ bool build_edge_list(mapbox::geometry::linear_ring<T> const& path_geometry, edge
// Find next non repeated point going backwards from
// end for pt1
while (pt1 == pt2) {
pt1 = *(++itr_rev);
++itr_rev;
if (itr_rev == path_geometry.rend()) {
return false;
}
pt1 = *itr_rev;
}
++itr;
mapbox::geometry::point<value_type> pt3 = *itr;

@ -141,13 +141,13 @@ void intersect_bounds(active_bound_list_itr<T>& b1,
}
} else if ((*b1)->poly_type != (*b2)->poly_type) {
// toggle subj open path index on/off when std::abs(clip.WndCnt) == 1
if (((*b1)->winding_delta == 0) && std::abs((*b2)->winding_count) == 1 &&
if (((*b1)->winding_delta == 0) && std::abs(static_cast<int>((*b2)->winding_count)) == 1 &&
(cliptype != clip_type_union || (*b2)->winding_count2 == 0)) {
add_point(b1, active_bounds, pt, rings);
if (b1Contributing) {
(*b1)->ring = nullptr;
}
} else if (((*b2)->winding_delta == 0) && (std::abs((*b1)->winding_count) == 1) &&
} else if (((*b2)->winding_delta == 0) && (std::abs(static_cast<int>((*b1)->winding_count)) == 1) &&
(cliptype != clip_type_union || (*b1)->winding_count2 == 0)) {
add_point(b2, active_bounds, pt, rings);
if (b2Contributing) {
@ -217,7 +217,7 @@ void intersect_bounds(active_bound_list_itr<T>& b1,
case fill_type_even_odd:
case fill_type_non_zero:
default:
b1Wc = std::abs((*b1)->winding_count);
b1Wc = std::abs(static_cast<int>((*b1)->winding_count));
}
switch (b2FillType) {
case fill_type_positive:
@ -229,7 +229,7 @@ void intersect_bounds(active_bound_list_itr<T>& b1,
case fill_type_even_odd:
case fill_type_non_zero:
default:
b2Wc = std::abs((*b2)->winding_count);
b2Wc = std::abs(static_cast<int>((*b2)->winding_count));
}
if (b1Contributing && b2Contributing) {
if ((b1Wc != 0 && b1Wc != 1) || (b2Wc != 0 && b2Wc != 1) ||
@ -269,7 +269,7 @@ void intersect_bounds(active_bound_list_itr<T>& b1,
case fill_type_even_odd:
case fill_type_non_zero:
default:
b1Wc2 = std::abs((*b1)->winding_count2);
b1Wc2 = std::abs(static_cast<int>((*b1)->winding_count2));
}
switch (b2FillType2) {
case fill_type_positive:
@ -281,7 +281,7 @@ void intersect_bounds(active_bound_list_itr<T>& b1,
case fill_type_even_odd:
case fill_type_non_zero:
default:
b2Wc2 = std::abs((*b2)->winding_count2);
b2Wc2 = std::abs(static_cast<int>((*b2)->winding_count2));
}
if ((*b1)->poly_type != (*b2)->poly_type) {

@ -2,7 +2,9 @@
#ifdef DEBUG
#include <iostream>
#include <sstream>
#endif
#include <queue>
#include <mapbox/geometry/wagyu/bound.hpp>

@ -13,6 +13,7 @@
#ifdef DEBUG
#include <execinfo.h>
#include <iostream>
#include <sstream>
#include <stdio.h>
//
// void* callstack[128];

@ -16,6 +16,7 @@
#ifdef DEBUG
#include <iostream>
#include <sstream>
#endif
namespace mapbox {