summaryrefslogtreecommitdiff
path: root/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/algorithms/detail/buffer/buffer_policies.hpp')
-rw-r--r--boost/geometry/algorithms/detail/buffer/buffer_policies.hpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp b/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
index 6a2e6b32c5..c5bb8acc05 100644
--- a/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
+++ b/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
@@ -35,7 +35,7 @@ namespace detail { namespace buffer
enum intersection_location_type
{
- location_ok, inside_buffer, inside_original
+ location_ok, inside_buffer, location_discard
};
class backtrack_for_buffer
@@ -120,10 +120,14 @@ struct buffer_turn_info
return robust_point;
}
-
intersection_location_type location;
int count_within;
+
+ bool within_original;
+ int count_on_original_boundary;
+ int count_in_original; // increased by +1 for in ext.ring, -1 for int.ring
+
int count_on_offsetted;
int count_on_helper;
int count_within_near_offsetted;
@@ -138,6 +142,9 @@ struct buffer_turn_info
: turn_index(-1)
, location(location_ok)
, count_within(0)
+ , within_original(false)
+ , count_on_original_boundary(0)
+ , count_in_original(0)
, count_on_offsetted(0)
, count_on_helper(0)
, count_within_near_offsetted(0)