ruby-opencv 0.0.11 → 0.0.12.pre

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