librtree 0.8.7 → 0.8.8

Sign up to get free protection for your applications and to get access to all the features.
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