Mercurial > hg > vamp-build-and-test
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 |