ruby-opencv 0.0.11 → 0.0.12.pre

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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.yardopts +3 -0
  4. data/Gemfile +1 -0
  5. data/Manifest.txt +2 -14
  6. data/README.md +1 -1
  7. data/Rakefile +10 -1
  8. data/examples/facerec/facerec_lbph.rb +1 -1
  9. data/ext/opencv/algorithm.cpp +6 -1
  10. data/ext/opencv/algorithm.h +1 -1
  11. data/ext/opencv/curve.cpp +48 -33
  12. data/ext/opencv/curve.h +1 -1
  13. data/ext/opencv/cvavgcomp.cpp +22 -25
  14. data/ext/opencv/cvavgcomp.h +1 -1
  15. data/ext/opencv/cvbox2d.cpp +56 -58
  16. data/ext/opencv/cvbox2d.h +1 -1
  17. data/ext/opencv/cvcapture.cpp +210 -109
  18. data/ext/opencv/cvcapture.h +1 -1
  19. data/ext/opencv/cvchain.cpp +71 -71
  20. data/ext/opencv/cvchain.h +1 -1
  21. data/ext/opencv/cvcircle32f.cpp +37 -27
  22. data/ext/opencv/cvcircle32f.h +1 -1
  23. data/ext/opencv/cvconnectedcomp.cpp +49 -36
  24. data/ext/opencv/cvconnectedcomp.h +1 -1
  25. data/ext/opencv/cvcontour.cpp +117 -81
  26. data/ext/opencv/cvcontour.h +1 -1
  27. data/ext/opencv/cvcontourtree.cpp +37 -32
  28. data/ext/opencv/cvcontourtree.h +1 -1
  29. data/ext/opencv/cvconvexitydefect.cpp +33 -44
  30. data/ext/opencv/cvconvexitydefect.h +1 -1
  31. data/ext/opencv/cverror.cpp +22 -66
  32. data/ext/opencv/cverror.h +1 -1
  33. data/ext/opencv/cvfeaturetree.cpp +31 -33
  34. data/ext/opencv/cvfeaturetree.h +1 -1
  35. data/ext/opencv/cvfont.cpp +98 -78
  36. data/ext/opencv/cvfont.h +1 -1
  37. data/ext/opencv/cvhaarclassifiercascade.cpp +39 -59
  38. data/ext/opencv/cvhaarclassifiercascade.h +1 -1
  39. data/ext/opencv/cvhistogram.cpp +259 -90
  40. data/ext/opencv/cvhistogram.h +1 -1
  41. data/ext/opencv/cvhumoments.cpp +99 -60
  42. data/ext/opencv/cvhumoments.h +1 -1
  43. data/ext/opencv/cvline.cpp +45 -40
  44. data/ext/opencv/cvline.h +1 -1
  45. data/ext/opencv/cvmat.cpp +1894 -1829
  46. data/ext/opencv/cvmat.h +2 -3
  47. data/ext/opencv/cvmemstorage.cpp +19 -14
  48. data/ext/opencv/cvmemstorage.h +1 -1
  49. data/ext/opencv/cvmoments.cpp +51 -45
  50. data/ext/opencv/cvmoments.h +1 -1
  51. data/ext/opencv/cvpoint.cpp +32 -26
  52. data/ext/opencv/cvpoint.h +1 -1
  53. data/ext/opencv/cvpoint2d32f.cpp +31 -26
  54. data/ext/opencv/cvpoint2d32f.h +1 -1
  55. data/ext/opencv/cvpoint3d32f.cpp +36 -29
  56. data/ext/opencv/cvpoint3d32f.h +1 -1
  57. data/ext/opencv/cvrect.cpp +38 -33
  58. data/ext/opencv/cvrect.h +1 -1
  59. data/ext/opencv/cvscalar.cpp +50 -45
  60. data/ext/opencv/cvscalar.h +1 -1
  61. data/ext/opencv/cvseq.cpp +53 -47
  62. data/ext/opencv/cvseq.h +1 -1
  63. data/ext/opencv/cvsize.cpp +32 -26
  64. data/ext/opencv/cvsize.h +1 -1
  65. data/ext/opencv/cvsize2d32f.cpp +31 -25
  66. data/ext/opencv/cvsize2d32f.h +1 -1
  67. data/ext/opencv/cvslice.cpp +28 -22
  68. data/ext/opencv/cvslice.h +1 -1
  69. data/ext/opencv/cvsurfparams.cpp +37 -28
  70. data/ext/opencv/cvsurfparams.h +1 -1
  71. data/ext/opencv/cvsurfpoint.cpp +76 -53
  72. data/ext/opencv/cvsurfpoint.h +1 -1
  73. data/ext/opencv/cvtermcriteria.cpp +32 -26
  74. data/ext/opencv/cvtermcriteria.h +1 -1
  75. data/ext/opencv/cvtwopoints.cpp +28 -22
  76. data/ext/opencv/cvtwopoints.h +1 -1
  77. data/ext/opencv/cvvideowriter.cpp +25 -20
  78. data/ext/opencv/cvvideowriter.h +1 -1
  79. data/ext/opencv/eigenfaces.cpp +10 -2
  80. data/ext/opencv/eigenfaces.h +1 -1
  81. data/ext/opencv/facerecognizer.cpp +15 -8
  82. data/ext/opencv/facerecognizer.h +2 -2
  83. data/ext/opencv/fisherfaces.cpp +10 -2
  84. data/ext/opencv/fisherfaces.h +1 -1
  85. data/ext/opencv/gui.cpp +26 -23
  86. data/ext/opencv/gui.h +1 -1
  87. data/ext/opencv/iplconvkernel.cpp +30 -24
  88. data/ext/opencv/iplconvkernel.h +1 -1
  89. data/ext/opencv/iplimage.cpp +49 -42
  90. data/ext/opencv/iplimage.h +1 -1
  91. data/ext/opencv/lbph.cpp +10 -2
  92. data/ext/opencv/lbph.h +1 -1
  93. data/ext/opencv/mouseevent.cpp +30 -25
  94. data/ext/opencv/mouseevent.h +1 -1
  95. data/ext/opencv/opencv.cpp +59 -60
  96. data/ext/opencv/opencv.h +1 -5
  97. data/ext/opencv/pointset.cpp +31 -25
  98. data/ext/opencv/pointset.h +1 -1
  99. data/ext/opencv/trackbar.cpp +27 -21
  100. data/ext/opencv/trackbar.h +1 -1
  101. data/ext/opencv/window.cpp +77 -57
  102. data/ext/opencv/window.h +1 -1
  103. data/lib/opencv/version.rb +2 -1
  104. data/ruby-opencv.gemspec +19 -18
  105. data/test/test_opencv.rb +5 -3
  106. data/yard_extension.rb +5 -0
  107. metadata +13 -27
  108. data/examples/matching_to_many_images/matching_to_many_images.rb +0 -16
  109. data/examples/matching_to_many_images/query.png +0 -0
  110. data/examples/matching_to_many_images/train/1.png +0 -0
  111. data/examples/matching_to_many_images/train/2.png +0 -0
  112. data/examples/matching_to_many_images/train/3.png +0 -0
  113. data/examples/matching_to_many_images/train/trainImages.txt +0 -3
  114. data/ext/opencv/cvcondensation.cpp +0 -282
  115. data/ext/opencv/cvcondensation.h +0 -49
  116. data/ext/opencv/cvmatnd.cpp +0 -44
  117. data/ext/opencv/cvmatnd.h +0 -28
  118. data/ext/opencv/cvsparsemat.cpp +0 -44
  119. data/ext/opencv/cvsparsemat.h +0 -28
  120. data/images/face_detect_from_lena.jpg +0 -0
  121. data/test/test_cvmat_matching.rb +0 -57
@@ -34,39 +34,6 @@ rb_class()
34
34
  return rb_klass;
35
35
  }
36
36
 
37
- void
38
- define_ruby_class()
39
- {
40
- if (rb_klass)
41
- return;
42
- /*
43
- * opencv = rb_define_module("OpenCV");
44
- *
45
- * note: this comment is used by rdoc.
46
- */
47
- VALUE opencv = rb_module_opencv();
48
- rb_klass = rb_define_class_under(opencv, "CvRect", rb_cObject);
49
- rb_define_alloc_func(rb_klass, rb_allocate);
50
- rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
51
- rb_define_singleton_method(rb_klass, "max_rect", RUBY_METHOD_FUNC(rb_max_rect), 2);
52
- rb_define_private_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
53
-
54
- rb_define_method(rb_klass, "x", RUBY_METHOD_FUNC(rb_x), 0);
55
- rb_define_method(rb_klass, "x=", RUBY_METHOD_FUNC(rb_set_x), 1);
56
- rb_define_method(rb_klass, "y", RUBY_METHOD_FUNC(rb_y), 0);
57
- rb_define_method(rb_klass, "y=", RUBY_METHOD_FUNC(rb_set_y), 1);
58
- rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
59
- rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
60
- rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
61
- rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
62
- rb_define_method(rb_klass, "center", RUBY_METHOD_FUNC(rb_center), 0);
63
- rb_define_method(rb_klass, "points", RUBY_METHOD_FUNC(rb_points), 0);
64
- rb_define_method(rb_klass, "top_left", RUBY_METHOD_FUNC(rb_top_left), 0);
65
- rb_define_method(rb_klass, "top_right", RUBY_METHOD_FUNC(rb_top_right), 0);
66
- rb_define_method(rb_klass, "bottom_left", RUBY_METHOD_FUNC(rb_bottom_left), 0);
67
- rb_define_method(rb_klass, "bottom_right", RUBY_METHOD_FUNC(rb_bottom_right), 0);
68
- }
69
-
70
37
  /*
71
38
  * call-seq:
72
39
  * combatible?(obj)
@@ -329,5 +296,43 @@ new_object(CvRect rect)
329
296
  return object;
330
297
  }
331
298
 
299
+ void
300
+ init_ruby_class()
301
+ {
302
+ #if 0
303
+ // For documentation using YARD
304
+ VALUE opencv = rb_define_module("OpenCV");
305
+ #endif
306
+
307
+ if (rb_klass)
308
+ return;
309
+ /*
310
+ * opencv = rb_define_module("OpenCV");
311
+ *
312
+ * note: this comment is used by rdoc.
313
+ */
314
+ VALUE opencv = rb_module_opencv();
315
+ rb_klass = rb_define_class_under(opencv, "CvRect", rb_cObject);
316
+ rb_define_alloc_func(rb_klass, rb_allocate);
317
+ rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
318
+ rb_define_singleton_method(rb_klass, "max_rect", RUBY_METHOD_FUNC(rb_max_rect), 2);
319
+ rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
320
+
321
+ rb_define_method(rb_klass, "x", RUBY_METHOD_FUNC(rb_x), 0);
322
+ rb_define_method(rb_klass, "x=", RUBY_METHOD_FUNC(rb_set_x), 1);
323
+ rb_define_method(rb_klass, "y", RUBY_METHOD_FUNC(rb_y), 0);
324
+ rb_define_method(rb_klass, "y=", RUBY_METHOD_FUNC(rb_set_y), 1);
325
+ rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
326
+ rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
327
+ rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
328
+ rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
329
+ rb_define_method(rb_klass, "center", RUBY_METHOD_FUNC(rb_center), 0);
330
+ rb_define_method(rb_klass, "points", RUBY_METHOD_FUNC(rb_points), 0);
331
+ rb_define_method(rb_klass, "top_left", RUBY_METHOD_FUNC(rb_top_left), 0);
332
+ rb_define_method(rb_klass, "top_right", RUBY_METHOD_FUNC(rb_top_right), 0);
333
+ rb_define_method(rb_klass, "bottom_left", RUBY_METHOD_FUNC(rb_bottom_left), 0);
334
+ rb_define_method(rb_klass, "bottom_right", RUBY_METHOD_FUNC(rb_bottom_right), 0);
335
+ }
336
+
332
337
  __NAMESPACE_END_CVRECT
333
338
  __NAMESPACE_END_OPENCV
@@ -20,7 +20,7 @@ __NAMESPACE_BEGIN_CVRECT
20
20
 
21
21
  VALUE rb_class();
22
22
 
23
- void define_ruby_class();
23
+ void init_ruby_class();
24
24
 
25
25
  VALUE rb_compatible_q(VALUE klass, VALUE object);
26
26
  VALUE rb_max_rect(VALUE klass, VALUE rect1, VALUE rect2);
@@ -42,50 +42,6 @@ rb_class()
42
42
  return rb_klass;
43
43
  }
44
44
 
45
- void
46
- define_ruby_class()
47
- {
48
- if (rb_klass)
49
- return;
50
- /*
51
- * opencv = rb_define_module("OpenCV");
52
- *
53
- * note: this comment is used by rdoc.
54
- */
55
- VALUE opencv = rb_module_opencv();
56
-
57
- rb_klass = rb_define_class_under(opencv, "CvScalar", rb_cObject);
58
- /* CvScalar: class */
59
- rb_define_const(opencv, "CvColor", rb_klass);
60
- rb_define_alloc_func(rb_klass, rb_allocate);
61
- rb_define_private_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
62
- rb_define_method(rb_klass, "[]", RUBY_METHOD_FUNC(rb_aref), 1);
63
- rb_define_method(rb_klass, "[]=", RUBY_METHOD_FUNC(rb_aset), 2);
64
- rb_define_method(rb_klass, "sub", RUBY_METHOD_FUNC(rb_sub), -1);
65
- rb_define_alias(rb_klass, "-", "sub");
66
-
67
- rb_define_method(rb_klass, "to_s", RUBY_METHOD_FUNC(rb_to_s), 0);
68
- rb_define_method(rb_klass, "to_ary", RUBY_METHOD_FUNC(rb_to_ary), 0);
69
- rb_define_alias(rb_klass, "to_a", "to_ary");
70
-
71
- rb_define_const(rb_klass, "Black", cCvScalar::new_object(cvScalar(0x0,0x0,0x0)));
72
- rb_define_const(rb_klass, "Silver", cCvScalar::new_object(cvScalar(0x0c,0x0c,0x0c)));
73
- rb_define_const(rb_klass, "Gray", cCvScalar::new_object(cvScalar(0x80,0x80,0x80)));
74
- rb_define_const(rb_klass, "White", cCvScalar::new_object(cvScalar(0xff,0xff,0xff)));
75
- rb_define_const(rb_klass, "Maroon", cCvScalar::new_object(cvScalar(0x0,0x0,0x80)));
76
- rb_define_const(rb_klass, "Red", cCvScalar::new_object(cvScalar(0x0,0x0,0xff)));
77
- rb_define_const(rb_klass, "Purple", cCvScalar::new_object(cvScalar(0x80,0x0,0x80)));
78
- rb_define_const(rb_klass, "Fuchsia", cCvScalar::new_object(cvScalar(0xff,0x0,0xff)));
79
- rb_define_const(rb_klass, "Green", cCvScalar::new_object(cvScalar(0x0,0x80,0x0)));
80
- rb_define_const(rb_klass, "Lime", cCvScalar::new_object(cvScalar(0x0,0xff,0x0)));
81
- rb_define_const(rb_klass, "Olive", cCvScalar::new_object(cvScalar(0x0,0x80,0x80)));
82
- rb_define_const(rb_klass, "Yellow", cCvScalar::new_object(cvScalar(0x0,0xff,0xff)));
83
- rb_define_const(rb_klass, "Navy", cCvScalar::new_object(cvScalar(0x80,0x0,0x0)));
84
- rb_define_const(rb_klass, "Blue", cCvScalar::new_object(cvScalar(0xff,0x0,0x0)));
85
- rb_define_const(rb_klass, "Teal", cCvScalar::new_object(cvScalar(0x80,0x80,0x0)));
86
- rb_define_const(rb_klass, "Aqua", cCvScalar::new_object(cvScalar(0xff,0xff,0x0)));
87
- }
88
-
89
45
  VALUE
90
46
  rb_allocate(VALUE klass)
91
47
  {
@@ -95,7 +51,7 @@ rb_allocate(VALUE klass)
95
51
 
96
52
  /*
97
53
  * call-seq:
98
- * new(<i>[d1][,d2][,d3][,d4]</i>)
54
+ * new([d1][,d2][,d3][,d4])
99
55
  *
100
56
  * Create new Scalar. Argument should be Fixnum (or nil as 0).
101
57
  */
@@ -231,6 +187,55 @@ new_object(CvScalar scalar)
231
187
  return object;
232
188
  }
233
189
 
190
+ void
191
+ init_ruby_class()
192
+ {
193
+ #if 0
194
+ // For documentation using YARD
195
+ VALUE opencv = rb_define_module("OpenCV");
196
+ #endif
197
+
198
+ if (rb_klass)
199
+ return;
200
+ /*
201
+ * opencv = rb_define_module("OpenCV");
202
+ *
203
+ * note: this comment is used by rdoc.
204
+ */
205
+ VALUE opencv = rb_module_opencv();
206
+
207
+ rb_klass = rb_define_class_under(opencv, "CvScalar", rb_cObject);
208
+ /* CvScalar: class */
209
+ rb_define_const(opencv, "CvColor", rb_klass);
210
+ rb_define_alloc_func(rb_klass, rb_allocate);
211
+ rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
212
+ rb_define_method(rb_klass, "[]", RUBY_METHOD_FUNC(rb_aref), 1);
213
+ rb_define_method(rb_klass, "[]=", RUBY_METHOD_FUNC(rb_aset), 2);
214
+ rb_define_method(rb_klass, "sub", RUBY_METHOD_FUNC(rb_sub), -1);
215
+ rb_define_alias(rb_klass, "-", "sub");
216
+
217
+ rb_define_method(rb_klass, "to_s", RUBY_METHOD_FUNC(rb_to_s), 0);
218
+ rb_define_method(rb_klass, "to_ary", RUBY_METHOD_FUNC(rb_to_ary), 0);
219
+ rb_define_alias(rb_klass, "to_a", "to_ary");
220
+
221
+ rb_define_const(rb_klass, "Black", cCvScalar::new_object(cvScalar(0x0,0x0,0x0)));
222
+ rb_define_const(rb_klass, "Silver", cCvScalar::new_object(cvScalar(0x0c,0x0c,0x0c)));
223
+ rb_define_const(rb_klass, "Gray", cCvScalar::new_object(cvScalar(0x80,0x80,0x80)));
224
+ rb_define_const(rb_klass, "White", cCvScalar::new_object(cvScalar(0xff,0xff,0xff)));
225
+ rb_define_const(rb_klass, "Maroon", cCvScalar::new_object(cvScalar(0x0,0x0,0x80)));
226
+ rb_define_const(rb_klass, "Red", cCvScalar::new_object(cvScalar(0x0,0x0,0xff)));
227
+ rb_define_const(rb_klass, "Purple", cCvScalar::new_object(cvScalar(0x80,0x0,0x80)));
228
+ rb_define_const(rb_klass, "Fuchsia", cCvScalar::new_object(cvScalar(0xff,0x0,0xff)));
229
+ rb_define_const(rb_klass, "Green", cCvScalar::new_object(cvScalar(0x0,0x80,0x0)));
230
+ rb_define_const(rb_klass, "Lime", cCvScalar::new_object(cvScalar(0x0,0xff,0x0)));
231
+ rb_define_const(rb_klass, "Olive", cCvScalar::new_object(cvScalar(0x0,0x80,0x80)));
232
+ rb_define_const(rb_klass, "Yellow", cCvScalar::new_object(cvScalar(0x0,0xff,0xff)));
233
+ rb_define_const(rb_klass, "Navy", cCvScalar::new_object(cvScalar(0x80,0x0,0x0)));
234
+ rb_define_const(rb_klass, "Blue", cCvScalar::new_object(cvScalar(0xff,0x0,0x0)));
235
+ rb_define_const(rb_klass, "Teal", cCvScalar::new_object(cvScalar(0x80,0x80,0x0)));
236
+ rb_define_const(rb_klass, "Aqua", cCvScalar::new_object(cvScalar(0xff,0xff,0x0)));
237
+ }
238
+
234
239
  __NAMESPACE_END_CVSCALAR
235
240
  __NAMESPACE_END_OPENCV
236
241
 
@@ -20,7 +20,7 @@ __NAMESPACE_BEGIN_CVSCALAR
20
20
 
21
21
  VALUE rb_class();
22
22
 
23
- void define_ruby_class();
23
+ void init_ruby_class();
24
24
 
25
25
  VALUE rb_compatible_q(VALUE klass, VALUE object);
26
26
 
@@ -73,49 +73,6 @@ unregister_elem_class(void *ptr)
73
73
  }
74
74
  }
75
75
 
76
- void
77
- define_ruby_class()
78
- {
79
- if (rb_klass)
80
- return;
81
- /*
82
- * opencv = rb_define_module("OpenCV");
83
- *
84
- * note: this comment is used by rdoc.
85
- */
86
- VALUE opencv = rb_module_opencv();
87
- rb_klass = rb_define_class_under(opencv, "CvSeq", rb_cObject);
88
- rb_include_module(rb_klass, rb_mEnumerable);
89
- rb_define_alloc_func(rb_klass, rb_allocate);
90
- rb_define_private_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
91
- rb_define_method(rb_klass, "total", RUBY_METHOD_FUNC(rb_total), 0);
92
- rb_define_alias(rb_klass, "length", "total");
93
- rb_define_alias(rb_klass, "size", "total");
94
- rb_define_method(rb_klass, "empty?", RUBY_METHOD_FUNC(rb_empty_q), 0);
95
- rb_define_method(rb_klass, "[]", RUBY_METHOD_FUNC(rb_aref), 1);
96
- rb_define_method(rb_klass, "first", RUBY_METHOD_FUNC(rb_first), 0);
97
- rb_define_method(rb_klass, "last", RUBY_METHOD_FUNC(rb_last), 0);
98
-
99
- rb_define_method(rb_klass, "h_prev", RUBY_METHOD_FUNC(rb_h_prev), 0);
100
- rb_define_method(rb_klass, "h_next", RUBY_METHOD_FUNC(rb_h_next), 0);
101
- rb_define_method(rb_klass, "v_prev", RUBY_METHOD_FUNC(rb_v_prev), 0);
102
- rb_define_method(rb_klass, "v_next", RUBY_METHOD_FUNC(rb_v_next), 0);
103
-
104
- rb_define_method(rb_klass, "push", RUBY_METHOD_FUNC(rb_push), -2);
105
- rb_define_alias(rb_klass, "<<", "push");
106
- rb_define_method(rb_klass, "pop", RUBY_METHOD_FUNC(rb_pop), 0);
107
- rb_define_method(rb_klass, "unshift", RUBY_METHOD_FUNC(rb_unshift), -2);
108
- rb_define_alias(rb_klass, "push_front", "unshift");
109
- rb_define_method(rb_klass, "shift", RUBY_METHOD_FUNC(rb_shift), 0);
110
- rb_define_alias(rb_klass, "pop_front", "shift");
111
- rb_define_method(rb_klass, "each", RUBY_METHOD_FUNC(rb_each), 0);
112
- rb_define_method(rb_klass, "each_index", RUBY_METHOD_FUNC(rb_each_index), 0);
113
- rb_define_method(rb_klass, "insert", RUBY_METHOD_FUNC(rb_insert), 2);
114
- rb_define_method(rb_klass, "remove", RUBY_METHOD_FUNC(rb_remove), 1);
115
- rb_define_alias(rb_klass, "delete_at", "remove");
116
- rb_define_method(rb_klass, "clear", RUBY_METHOD_FUNC(rb_clear), 0);
117
- }
118
-
119
76
  VALUE
120
77
  rb_allocate(VALUE klass)
121
78
  {
@@ -125,7 +82,7 @@ rb_allocate(VALUE klass)
125
82
 
126
83
  /*
127
84
  * call-seq:
128
- * CvSeq.new(<i>type[,storage]</i>)
85
+ * CvSeq.new(type[,storage])
129
86
  *
130
87
  * Return a new CvSeq. <i>type</i> should be following classes.
131
88
  *
@@ -378,7 +335,7 @@ rb_seq_push(VALUE self, VALUE args, int flag)
378
335
 
379
336
  /*
380
337
  * call-seq:
381
- * push(<i>obj, ...</i>) -> self
338
+ * push(obj, ...) -> self
382
339
  *
383
340
  * Append - Pushes the given object(s) on the end of this sequence. This expression return the sequence itself,
384
341
  * so several append may be chained together.
@@ -542,7 +499,7 @@ rb_each_index(VALUE self)
542
499
 
543
500
  /*
544
501
  * call-seq:
545
- * insert(<i>index,obj</i>) -> self
502
+ * insert(index,obj) -> self
546
503
  *
547
504
  * Inserts the given values before element with the given index (which may be negative).
548
505
  */
@@ -570,7 +527,7 @@ rb_insert(VALUE self, VALUE index, VALUE object)
570
527
 
571
528
  /*
572
529
  * call-seq:
573
- * remove(<i>index</i>) -> obj or nil
530
+ * remove(index) -> obj or nil
574
531
  *
575
532
  * Deletes the elements at the specified index.
576
533
  */
@@ -595,5 +552,54 @@ new_sequence(VALUE klass, CvSeq *seq, VALUE element_klass, VALUE storage)
595
552
  return Data_Wrap_Struct(klass, mark_root_object, unregister_elem_class, seq);
596
553
  }
597
554
 
555
+ void
556
+ init_ruby_class()
557
+ {
558
+ #if 0
559
+ // For documentation using YARD
560
+ VALUE opencv = rb_define_module("OpenCV");
561
+ #endif
562
+
563
+ if (rb_klass)
564
+ return;
565
+ /*
566
+ * opencv = rb_define_module("OpenCV");
567
+ *
568
+ * note: this comment is used by rdoc.
569
+ */
570
+ VALUE opencv = rb_module_opencv();
571
+ rb_klass = rb_define_class_under(opencv, "CvSeq", rb_cObject);
572
+ rb_include_module(rb_klass, rb_mEnumerable);
573
+ rb_define_alloc_func(rb_klass, rb_allocate);
574
+ rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
575
+ rb_define_method(rb_klass, "total", RUBY_METHOD_FUNC(rb_total), 0);
576
+ rb_define_alias(rb_klass, "length", "total");
577
+ rb_define_alias(rb_klass, "size", "total");
578
+ rb_define_method(rb_klass, "empty?", RUBY_METHOD_FUNC(rb_empty_q), 0);
579
+ rb_define_method(rb_klass, "[]", RUBY_METHOD_FUNC(rb_aref), 1);
580
+ rb_define_method(rb_klass, "first", RUBY_METHOD_FUNC(rb_first), 0);
581
+ rb_define_method(rb_klass, "last", RUBY_METHOD_FUNC(rb_last), 0);
582
+
583
+ rb_define_method(rb_klass, "h_prev", RUBY_METHOD_FUNC(rb_h_prev), 0);
584
+ rb_define_method(rb_klass, "h_next", RUBY_METHOD_FUNC(rb_h_next), 0);
585
+ rb_define_method(rb_klass, "v_prev", RUBY_METHOD_FUNC(rb_v_prev), 0);
586
+ rb_define_method(rb_klass, "v_next", RUBY_METHOD_FUNC(rb_v_next), 0);
587
+
588
+ rb_define_method(rb_klass, "push", RUBY_METHOD_FUNC(rb_push), -2);
589
+ rb_define_alias(rb_klass, "<<", "push");
590
+ rb_define_method(rb_klass, "pop", RUBY_METHOD_FUNC(rb_pop), 0);
591
+ rb_define_method(rb_klass, "unshift", RUBY_METHOD_FUNC(rb_unshift), -2);
592
+ rb_define_alias(rb_klass, "push_front", "unshift");
593
+ rb_define_method(rb_klass, "shift", RUBY_METHOD_FUNC(rb_shift), 0);
594
+ rb_define_alias(rb_klass, "pop_front", "shift");
595
+ rb_define_method(rb_klass, "each", RUBY_METHOD_FUNC(rb_each), 0);
596
+ rb_define_method(rb_klass, "each_index", RUBY_METHOD_FUNC(rb_each_index), 0);
597
+ rb_define_method(rb_klass, "insert", RUBY_METHOD_FUNC(rb_insert), 2);
598
+ rb_define_method(rb_klass, "remove", RUBY_METHOD_FUNC(rb_remove), 1);
599
+ rb_define_alias(rb_klass, "delete_at", "remove");
600
+ rb_define_method(rb_klass, "clear", RUBY_METHOD_FUNC(rb_clear), 0);
601
+ }
602
+
598
603
  __NAMESPACE_END_CVSEQ
599
604
  __NAMESPACE_END_OPENCV
605
+
@@ -19,7 +19,7 @@ __NAMESPACE_BEGIN_OPENCV
19
19
  __NAMESPACE_BEGIN_CVSEQ
20
20
 
21
21
  VALUE rb_class();
22
- void define_ruby_class();
22
+ void init_ruby_class();
23
23
 
24
24
  VALUE seqblock_class(void *ptr);
25
25
  void register_elem_class(CvSeq *seq, VALUE klass);
@@ -31,32 +31,6 @@ rb_class()
31
31
  return rb_klass;
32
32
  }
33
33
 
34
- void
35
- define_ruby_class()
36
- {
37
- if (rb_klass)
38
- return;
39
- /*
40
- * opencv = rb_define_module("OpenCV");
41
- *
42
- * note: this comment is used by rdoc.
43
- */
44
- VALUE opencv = rb_module_opencv();
45
-
46
- rb_klass = rb_define_class_under(opencv, "CvSize", rb_cObject);
47
- rb_define_alloc_func(rb_klass, rb_allocate);
48
- rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
49
- rb_define_private_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
50
- rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
51
- rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
52
- rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
53
- rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
54
-
55
- rb_define_method(rb_klass, "to_s", RUBY_METHOD_FUNC(rb_to_s), 0);
56
- rb_define_method(rb_klass, "to_ary", RUBY_METHOD_FUNC(rb_to_ary), 0);
57
- rb_define_alias(rb_klass, "to_a", "to_ary");
58
- }
59
-
60
34
  /*
61
35
  * call-seq:
62
36
  * compatible?(obj)
@@ -217,5 +191,37 @@ new_object(CvSize size)
217
191
  return object;
218
192
  }
219
193
 
194
+ void
195
+ init_ruby_class()
196
+ {
197
+ #if 0
198
+ // For documentation using YARD
199
+ VALUE opencv = rb_define_module("OpenCV");
200
+ #endif
201
+
202
+ if (rb_klass)
203
+ return;
204
+ /*
205
+ * opencv = rb_define_module("OpenCV");
206
+ *
207
+ * note: this comment is used by rdoc.
208
+ */
209
+ VALUE opencv = rb_module_opencv();
210
+
211
+ rb_klass = rb_define_class_under(opencv, "CvSize", rb_cObject);
212
+ rb_define_alloc_func(rb_klass, rb_allocate);
213
+ rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
214
+ rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
215
+ rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
216
+ rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
217
+ rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
218
+ rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
219
+
220
+ rb_define_method(rb_klass, "to_s", RUBY_METHOD_FUNC(rb_to_s), 0);
221
+ rb_define_method(rb_klass, "to_ary", RUBY_METHOD_FUNC(rb_to_ary), 0);
222
+ rb_define_alias(rb_klass, "to_a", "to_ary");
223
+ }
224
+
220
225
  __NAMESPACE_END_CVSIZE
221
226
  __NAMESPACE_END_OPENCV
227
+
@@ -20,7 +20,7 @@ __NAMESPACE_BEGIN_CVSIZE
20
20
 
21
21
  VALUE rb_class();
22
22
 
23
- void define_ruby_class();
23
+ void init_ruby_class();
24
24
 
25
25
  VALUE rb_compatible_q(VALUE klass, VALUE object);
26
26
 
@@ -31,31 +31,6 @@ rb_class()
31
31
  return rb_klass;
32
32
  }
33
33
 
34
- void
35
- define_ruby_class()
36
- {
37
- if (rb_klass)
38
- return;
39
- /*
40
- * opencv = rb_define_module("OpenCV");
41
- *
42
- * note: this comment is used by rdoc.
43
- */
44
- VALUE opencv = rb_module_opencv();
45
-
46
- rb_klass = rb_define_class_under(opencv, "CvSize2D32f", rb_cObject);
47
- rb_define_alloc_func(rb_klass, rb_allocate);
48
- rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
49
- rb_define_private_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
50
- rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
51
- rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
52
- rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
53
- rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
54
- rb_define_method(rb_klass, "to_s", RUBY_METHOD_FUNC(rb_to_s), 0);
55
- rb_define_method(rb_klass, "to_ary", RUBY_METHOD_FUNC(rb_to_ary), 0);
56
- rb_define_alias(rb_klass, "to_a", "to_ary");
57
- }
58
-
59
34
  /*
60
35
  * call-seq:
61
36
  * compatible?(obj)
@@ -205,5 +180,36 @@ new_object(CvSize2D32f size)
205
180
  return object;
206
181
  }
207
182
 
183
+ void
184
+ init_ruby_class()
185
+ {
186
+ #if 0
187
+ // For documentation using YARD
188
+ VALUE opencv = rb_define_module("OpenCV");
189
+ #endif
190
+
191
+ if (rb_klass)
192
+ return;
193
+ /*
194
+ * opencv = rb_define_module("OpenCV");
195
+ *
196
+ * note: this comment is used by rdoc.
197
+ */
198
+ VALUE opencv = rb_module_opencv();
199
+
200
+ rb_klass = rb_define_class_under(opencv, "CvSize2D32f", rb_cObject);
201
+ rb_define_alloc_func(rb_klass, rb_allocate);
202
+ rb_define_singleton_method(rb_klass, "compatible?", RUBY_METHOD_FUNC(rb_compatible_q), 1);
203
+ rb_define_method(rb_klass, "initialize", RUBY_METHOD_FUNC(rb_initialize), -1);
204
+ rb_define_method(rb_klass, "width", RUBY_METHOD_FUNC(rb_width), 0);
205
+ rb_define_method(rb_klass, "width=", RUBY_METHOD_FUNC(rb_set_width), 1);
206
+ rb_define_method(rb_klass, "height", RUBY_METHOD_FUNC(rb_height), 0);
207
+ rb_define_method(rb_klass, "height=", RUBY_METHOD_FUNC(rb_set_height), 1);
208
+ rb_define_method(rb_klass, "to_s", RUBY_METHOD_FUNC(rb_to_s), 0);
209
+ rb_define_method(rb_klass, "to_ary", RUBY_METHOD_FUNC(rb_to_ary), 0);
210
+ rb_define_alias(rb_klass, "to_a", "to_ary");
211
+ }
212
+
208
213
  __NAMESPACE_END_CVSIZE2D32F
209
214
  __NAMESPACE_END_OPENCV
215
+