comparison DEPENDENCIES/generic/include/boost/polygon/voronoi_builder.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
24 24
25 namespace boost { 25 namespace boost {
26 namespace polygon { 26 namespace polygon {
27 // GENERAL INFO: 27 // GENERAL INFO:
28 // The sweepline algorithm implementation to compute Voronoi diagram of 28 // The sweepline algorithm implementation to compute Voronoi diagram of
29 // points and non-intersecting segments (except endpoints). 29 // points and non-intersecting segments (excluding endpoints).
30 // Complexity - O(N*logN), memory usage - O(N), where N is the total number 30 // Complexity - O(N*logN), memory usage - O(N), where N is the total number
31 // of input geometries. Input geometries should have integer coordinate type. 31 // of input geometries.
32 //
33 // CONTRACT:
34 // 1) Input geometries should have integral (e.g. int32, int64) coordinate type.
35 // 2) Input geometries should not intersect except their endpoints.
32 // 36 //
33 // IMPLEMENTATION DETAILS: 37 // IMPLEMENTATION DETAILS:
34 // Each input point creates one site event. Each input segment creates three 38 // Each input point creates one input site. Each input segment creates three
35 // site events: two for its endpoints and one for the segment itself (this is 39 // input sites: two for its endpoints and one for the segment itself (this is
36 // made to simplify output construction). All the site events are constructed 40 // made to simplify output construction). All the site objects are constructed
37 // and sorted at the algorithm initialization step. Priority queue is used to 41 // and sorted at the algorithm initialization step. Priority queue is used to
38 // dynamically hold circle events. At each step of the algorithm execution the 42 // dynamically hold circle events. At each step of the algorithm execution the
39 // leftmost event is retrieved by comparing the current site event and the 43 // leftmost event is retrieved by comparing the current site event and the
40 // topmost element from the circle event queue. STL map (red-black tree) 44 // topmost element from the circle event queue. STL map (red-black tree)
41 // container was chosen to hold state of the beach line. The keys of the map 45 // container was chosen to hold state of the beach line. The keys of the map