librtree 0.8.7 → 0.8.8

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rtree/rtree.c +38 -38
  3. data/lib/rtree.rb +15 -16
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b33e172341a9e44682c139df3a6b92198b3dd83059340da9fb8752444afbac70
4
- data.tar.gz: 7ba6d8c71b6afeb8e5dedde55ff08074db758fa7ea150a67195ff07ca426a312
3
+ metadata.gz: fc74390aa8eb79643f88f2c48f7408ef9dd17dd12ed1049e3bfe2961b7523e4b
4
+ data.tar.gz: 25488f67912344fcd69cb2c19ca6b4344cf708bfc07d9f8e1629b5893030a759
5
5
  SHA512:
6
- metadata.gz: d4440a12038bd07dcb458ff993269fd72ac3826753f6e2757b86f19913a1cc748d7af1f37a7355e015d5a6dd3a750b8335a6f87d2a1dbdc5e4ef5387f9424f6a
7
- data.tar.gz: ce193b26ab45e5ca2cab29c0c145a9432440355585e5cc5e226bbe0e762b3d4c33bcd693626ccd3f60eaad11513c94d3e8246e86cf8b703a7d89f19b22090d1b
6
+ metadata.gz: 4bc5ae0e333e077a8331164e87f3d4c60470bfadc046c86424b8147d59ecfdb32b212d7ae7ec0d3e834d62b0c564929723a56af988a5b5a05364ba9e841407ff
7
+ data.tar.gz: 2b5d8c0799fabb2085686f4c3eb23feb367201d6630d4ac7e0621cc76ba5dbc6422b0e4d5649aee33fc375cff3411308ef81d61567f1af6049f50b677aa198de
data/ext/rtree/rtree.c CHANGED
@@ -498,42 +498,42 @@ static rb_data_type_t style_type = {
498
498
 
499
499
  void Init_rtree(void)
500
500
  {
501
- VALUE cRTree = rb_const_get(rb_cObject, rb_intern("RTreeC"));
502
-
503
- rb_define_alloc_func(cRTree, rt_alloc);
504
- rb_define_method(cRTree, "initialize", rt_init, 2);
505
- rb_define_method(cRTree, "free", rt_release, 0);
506
- rb_define_method(cRTree, "clone", rt_clone, 0);
507
- rb_define_method(cRTree, "update!", rt_update, 0);
508
- rb_define_method(cRTree, "height", rt_height, 0);
509
- rb_define_method(cRTree, "add_rect", rt_add_rect, 2);
510
- rb_define_method(cRTree, "search", rt_search, 1);
511
- rb_define_method(cRTree, "json_write", rt_json_write, 1);
512
- rb_define_method(cRTree, "bsrt_write", rt_bsrt_write, 1);
513
- rb_define_method(cRTree, "eq?", rt_identical, 1);
514
- rb_define_method(cRTree, "dim", rt_dim, 0);
515
- rb_define_method(cRTree, "size", rt_size, 0);
516
- rb_define_method(cRTree, "page_size", rt_page_size, 0);
517
- rb_define_method(cRTree, "node_size", rt_node_size, 0);
518
- rb_define_method(cRTree, "rect_size", rt_rect_size, 0);
519
- rb_define_method(cRTree, "branch_size", rt_branch_size, 0);
520
- rb_define_method(cRTree, "branching_factor", rt_branching_factor, 0);
521
- rb_define_method(cRTree, "unit_sphere_volume", rt_unit_sphere_volume, 0);
522
- rb_define_method(cRTree, "postscript", rt_postscript, 5);
523
- rb_define_singleton_method(cRTree, "version", rt_version, 0);
524
- rb_define_singleton_method(cRTree, "bugreport", rt_bugreport, 0);
525
- rb_define_singleton_method(cRTree, "url", rt_url, 0);
526
- rb_define_singleton_method(cRTree, "json_read", rt_json_read, 1);
527
- rb_define_singleton_method(cRTree, "bsrt_read", rt_bsrt_read, 1);
528
- rb_define_singleton_method(cRTree, "csv_read", rt_csv_read, 3);
529
- rb_define_const(cRTree, "SPLIT_QUADRATIC", INT2NUM(RTREE_SPLIT_QUADRATIC));
530
- rb_define_const(cRTree, "SPLIT_LINEAR", INT2NUM(RTREE_SPLIT_LINEAR));
531
- rb_define_const(cRTree, "SPLIT_GREENE", INT2NUM(RTREE_SPLIT_GREENE));
532
- rb_define_const(cRTree, "AXIS_HEIGHT", INT2NUM(axis_height));
533
- rb_define_const(cRTree, "AXIS_WIDTH", INT2NUM(axis_width));
534
-
535
- VALUE cStyle = rb_define_class_under(cRTree, "StyleC", rb_cObject);
536
-
537
- rb_define_method(cStyle, "free", st_release, 0);
538
- rb_define_singleton_method(cStyle, "json_read", st_json_read, 1);
501
+ VALUE cRTreeBase = rb_const_get(rb_cObject, rb_intern("RTreeBase"));
502
+
503
+ rb_define_alloc_func(cRTreeBase, rt_alloc);
504
+ rb_define_method(cRTreeBase, "initialize", rt_init, 2);
505
+ rb_define_method(cRTreeBase, "free", rt_release, 0);
506
+ rb_define_method(cRTreeBase, "clone", rt_clone, 0);
507
+ rb_define_method(cRTreeBase, "update!", rt_update, 0);
508
+ rb_define_method(cRTreeBase, "height", rt_height, 0);
509
+ rb_define_method(cRTreeBase, "add_rect", rt_add_rect, 2);
510
+ rb_define_method(cRTreeBase, "search", rt_search, 1);
511
+ rb_define_method(cRTreeBase, "json_write", rt_json_write, 1);
512
+ rb_define_method(cRTreeBase, "bsrt_write", rt_bsrt_write, 1);
513
+ rb_define_method(cRTreeBase, "eq?", rt_identical, 1);
514
+ rb_define_method(cRTreeBase, "dim", rt_dim, 0);
515
+ rb_define_method(cRTreeBase, "size", rt_size, 0);
516
+ rb_define_method(cRTreeBase, "page_size", rt_page_size, 0);
517
+ rb_define_method(cRTreeBase, "node_size", rt_node_size, 0);
518
+ rb_define_method(cRTreeBase, "rect_size", rt_rect_size, 0);
519
+ rb_define_method(cRTreeBase, "branch_size", rt_branch_size, 0);
520
+ rb_define_method(cRTreeBase, "branching_factor", rt_branching_factor, 0);
521
+ rb_define_method(cRTreeBase, "unit_sphere_volume", rt_unit_sphere_volume, 0);
522
+ rb_define_method(cRTreeBase, "postscript", rt_postscript, 5);
523
+ rb_define_singleton_method(cRTreeBase, "version", rt_version, 0);
524
+ rb_define_singleton_method(cRTreeBase, "bugreport", rt_bugreport, 0);
525
+ rb_define_singleton_method(cRTreeBase, "url", rt_url, 0);
526
+ rb_define_singleton_method(cRTreeBase, "json_read", rt_json_read, 1);
527
+ rb_define_singleton_method(cRTreeBase, "bsrt_read", rt_bsrt_read, 1);
528
+ rb_define_singleton_method(cRTreeBase, "csv_read", rt_csv_read, 3);
529
+ rb_define_const(cRTreeBase, "SPLIT_QUADRATIC", INT2NUM(RTREE_SPLIT_QUADRATIC));
530
+ rb_define_const(cRTreeBase, "SPLIT_LINEAR", INT2NUM(RTREE_SPLIT_LINEAR));
531
+ rb_define_const(cRTreeBase, "SPLIT_GREENE", INT2NUM(RTREE_SPLIT_GREENE));
532
+ rb_define_const(cRTreeBase, "AXIS_HEIGHT", INT2NUM(axis_height));
533
+ rb_define_const(cRTreeBase, "AXIS_WIDTH", INT2NUM(axis_width));
534
+
535
+ VALUE cRTreeStyleBase = rb_const_get(rb_cObject, rb_intern("RTreeStyleBase"));
536
+
537
+ rb_define_method(cRTreeStyleBase, "free", st_release, 0);
538
+ rb_define_singleton_method(cRTreeStyleBase, "json_read", st_json_read, 1);
539
539
  }
data/lib/rtree.rb CHANGED
@@ -1,11 +1,12 @@
1
- # The Ruby/C interface to RTree, not documented in YARD.
1
+ # The internal Ruby/C interface for RTree, not documented in YARD.
2
2
  #
3
- class RTreeC
4
- # The Ruby/C interface to RTree::Style, not documented in YARD.
5
- #
6
- class StyleC ; end
7
- end
3
+ class RTreeBase ; end
4
+
5
+ # The internal Ruby/C interface for RTree::Style, not documented in YARD.
6
+ #
7
+ class RTreeStyleBase ; end
8
8
 
9
+ require 'rtree/rtree'
9
10
  require 'json'
10
11
 
11
12
  # @author RTree J. J. Green
@@ -58,7 +59,7 @@ require 'json'
58
59
  # determined at compile-time (with the RTREE_ID_TYPE variable) and by
59
60
  # default this is a 64-bit unsigned integer.
60
61
  #
61
- class RTree < RTreeC
62
+ class RTree < RTreeBase
62
63
 
63
64
  class << self
64
65
 
@@ -152,6 +153,12 @@ class RTree < RTreeC
152
153
  end
153
154
 
154
155
  # @!visibility private
156
+ # This seems to need the self qualification on the constants,
157
+ # without them we get a NameError, not sure why so asked on SO
158
+ # https://stackoverflow.com/questions/68122256/ It's still not
159
+ # clear to me why this qualification is needed, but that's a
160
+ # problem with my understanding of the Ruby Eigenclass, it is
161
+ # the expected behaviour
155
162
  #
156
163
  def split_flag(split)
157
164
  case split
@@ -464,18 +471,12 @@ class RTree < RTreeC
464
471
  end
465
472
  end
466
473
 
467
-
468
- class RTree < RTreeC
469
- class Style < RTreeC::StyleC
470
- end
471
- end
472
-
473
474
  # @author RTree::Style J. J. Green
474
475
  #
475
476
  # A Ruby wrapper around RTree styles, used in PostScript plotting.
476
477
  # in particular by {RTree#postscript}.
477
478
  #
478
- class RTree::Style
479
+ class RTree::Style < RTreeStyleBase
479
480
 
480
481
  class << self
481
482
 
@@ -546,5 +547,3 @@ class RTree::Style
546
547
  alias_method :from_array, :from_a
547
548
  end
548
549
  end
549
-
550
- require 'rtree/rtree'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librtree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7
4
+ version: 0.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - J.J. Green
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-24 00:00:00.000000000 Z
11
+ date: 2021-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler