contrek 1.3.2 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +3 -1
  4. data/README.md +28 -28
  5. data/contrek.gemspec +1 -0
  6. data/ext/cpp_polygon_finder/PolygonFinder/src/ContrekApi.h +2 -0
  7. data/ext/cpp_polygon_finder/PolygonFinder/src/Tests.cpp +2 -4
  8. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/FinderUtils.cpp +11 -5
  9. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/Node.cpp +8 -10
  10. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/Node.h +4 -1
  11. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/NodeCluster.cpp +114 -42
  12. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/NodeCluster.h +1 -1
  13. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/PolygonFinder.h +2 -1
  14. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Cluster.cpp +1 -1
  15. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Cursor.cpp +66 -116
  16. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Cursor.h +1 -1
  17. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Finder.cpp +1 -0
  18. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/GeoJsonStreamingMerger.h +6 -7
  19. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Part.cpp +2 -87
  20. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Part.h +3 -13
  21. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/PartPool.cpp +0 -1
  22. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Partitionable.cpp +1 -57
  23. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Partitionable.h +1 -4
  24. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Queueable.h +31 -17
  25. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Sequence.cpp +0 -16
  26. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Sequence.h +0 -9
  27. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/StreamingMerger.cpp +2 -6
  28. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/StreamingMerger.h +1 -4
  29. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/SvgStreamingMerger.h +14 -1
  30. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/finder/concurrent/Tile.cpp +1 -1
  31. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/DouglasPeuckerReducer.cpp +177 -0
  32. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/DouglasPeuckerReducer.h +52 -0
  33. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/RasterReducer.cpp +109 -0
  34. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/RasterReducer.h +32 -0
  35. data/ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/VisvalingamReducer.h +6 -1
  36. data/ext/cpp_polygon_finder/cpp_polygon_finder.cpp +20 -2
  37. data/lib/contrek/bitmaps/painting.rb +27 -10
  38. data/lib/contrek/bitmaps/png_bitmap.rb +3 -0
  39. data/lib/contrek/bitmaps/raw_bitmap.rb +1 -0
  40. data/lib/contrek/bitmaps/rendering.rb +74 -0
  41. data/lib/contrek/cpp/cpp_geo_json_concurrent_streaming_merger.rb +11 -0
  42. data/lib/contrek/cpp/{cpp_concurrent_streaming_merger.rb → cpp_svg_concurrent_streaming_merger.rb} +1 -1
  43. data/lib/contrek/finder/concurrent/cursor.rb +62 -84
  44. data/lib/contrek/finder/concurrent/finder.rb +2 -1
  45. data/lib/contrek/finder/concurrent/geo_json_streaming_merger.rb +46 -0
  46. data/lib/contrek/finder/concurrent/part.rb +4 -77
  47. data/lib/contrek/finder/concurrent/partitionable.rb +1 -58
  48. data/lib/contrek/finder/concurrent/queueable.rb +23 -5
  49. data/lib/contrek/finder/concurrent/sequence.rb +0 -15
  50. data/lib/contrek/finder/concurrent/streaming_merger.rb +5 -27
  51. data/lib/contrek/finder/concurrent/svg_streaming_merger.rb +35 -0
  52. data/lib/contrek/finder/concurrent/tile.rb +1 -1
  53. data/lib/contrek/finder/node.rb +26 -8
  54. data/lib/contrek/finder/node_cluster.rb +91 -37
  55. data/lib/contrek/finder/polygon_finder.rb +1 -1
  56. data/lib/contrek/reducers/douglas_peucker_reducer.rb +191 -0
  57. data/lib/contrek/reducers/raster_reducer.rb +72 -0
  58. data/lib/contrek/version.rb +1 -1
  59. data/lib/contrek.rb +7 -1
  60. metadata +27 -3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contrek
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emanuele Cesaroni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-27 00:00:00.000000000 Z
11
+ date: 2026-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -78,6 +78,20 @@ dependencies:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: 1.7.2
81
+ - !ruby/object:Gem::Dependency
82
+ name: ruby2d
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.12'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '0.12'
81
95
  - !ruby/object:Gem::Dependency
82
96
  name: chunky_png
83
97
  requirement: !ruby/object:Gem::Requirement
@@ -234,8 +248,12 @@ files:
234
248
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/matchers/RGBNotMatcher.h
235
249
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/matchers/ValueNotMatcher.cpp
236
250
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/matchers/ValueNotMatcher.h
251
+ - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/DouglasPeuckerReducer.cpp
252
+ - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/DouglasPeuckerReducer.h
237
253
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/LinearReducer.cpp
238
254
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/LinearReducer.h
255
+ - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/RasterReducer.cpp
256
+ - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/RasterReducer.h
239
257
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/Reducer.cpp
240
258
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/Reducer.h
241
259
  - ext/cpp_polygon_finder/PolygonFinder/src/polygon/reducers/UniqReducer.cpp
@@ -251,15 +269,17 @@ files:
251
269
  - lib/contrek/bitmaps/painting.rb
252
270
  - lib/contrek/bitmaps/png_bitmap.rb
253
271
  - lib/contrek/bitmaps/raw_bitmap.rb
272
+ - lib/contrek/bitmaps/rendering.rb
254
273
  - lib/contrek/bitmaps/rgb_color.rb
255
274
  - lib/contrek/bitmaps/rgb_cpp_color.rb
256
275
  - lib/contrek/bitmaps/sample_generator.rb
257
276
  - lib/contrek/cpp/cpp_concurrent_finder.rb
258
277
  - lib/contrek/cpp/cpp_concurrent_horizontal_merger.rb
259
278
  - lib/contrek/cpp/cpp_concurrent_merger.rb
260
- - lib/contrek/cpp/cpp_concurrent_streaming_merger.rb
261
279
  - lib/contrek/cpp/cpp_concurrent_vertical_merger.rb
280
+ - lib/contrek/cpp/cpp_geo_json_concurrent_streaming_merger.rb
262
281
  - lib/contrek/cpp/cpp_result.rb
282
+ - lib/contrek/cpp/cpp_svg_concurrent_streaming_merger.rb
263
283
  - lib/contrek/cpp/cpp_tempfile.rb
264
284
  - lib/contrek/finder/bounds.rb
265
285
  - lib/contrek/finder/concurrent/clipped_polygon_finder.rb
@@ -268,6 +288,7 @@ files:
268
288
  - lib/contrek/finder/concurrent/end_point.rb
269
289
  - lib/contrek/finder/concurrent/fake_cluster.rb
270
290
  - lib/contrek/finder/concurrent/finder.rb
291
+ - lib/contrek/finder/concurrent/geo_json_streaming_merger.rb
271
292
  - lib/contrek/finder/concurrent/horizontal_merger.rb
272
293
  - lib/contrek/finder/concurrent/hub.rb
273
294
  - lib/contrek/finder/concurrent/inner_polyline.rb
@@ -282,6 +303,7 @@ files:
282
303
  - lib/contrek/finder/concurrent/sequence.rb
283
304
  - lib/contrek/finder/concurrent/shape.rb
284
305
  - lib/contrek/finder/concurrent/streaming_merger.rb
306
+ - lib/contrek/finder/concurrent/svg_streaming_merger.rb
285
307
  - lib/contrek/finder/concurrent/tile.rb
286
308
  - lib/contrek/finder/concurrent/vertical_merger.rb
287
309
  - lib/contrek/finder/list.rb
@@ -296,7 +318,9 @@ files:
296
318
  - lib/contrek/matchers/matcher.rb
297
319
  - lib/contrek/matchers/matcher_hsb.rb
298
320
  - lib/contrek/matchers/value_not_matcher.rb
321
+ - lib/contrek/reducers/douglas_peucker_reducer.rb
299
322
  - lib/contrek/reducers/linear_reducer.rb
323
+ - lib/contrek/reducers/raster_reducer.rb
300
324
  - lib/contrek/reducers/reducer.rb
301
325
  - lib/contrek/reducers/uniq_reducer.rb
302
326
  - lib/contrek/reducers/visvalingam_reducer.rb