1
0
Fork 0
mirror of https://github.com/ruby-opencv/ruby-opencv synced 2023-03-27 23:22:12 -04:00
ruby-opencv/ext/opencv/cvconvexitydefect.cpp
2012-05-31 02:58:54 +09:00

92 lines
2 KiB
C++

/************************************************************
cvconvexitydefect.cpp -
$Author: lsxi $
Copyright (C) 2007 Masakazu Yonekura
************************************************************/
#include "cvconvexitydefect.h"
/*
* Document-class: OpenCV::CvConvexityDefect
*
* Convexity defect
*/
__NAMESPACE_BEGIN_OPENCV
__NAMESPACE_BEGIN_CVCONVEXITYDEFECT
VALUE rb_klass;
VALUE
rb_class()
{
return rb_klass;
}
/*
* Returns the point of the contour where the defect begins
* @overload start
* @return [CvPoint] Start point of the contour
*/
VALUE
rb_start(VALUE self)
{
return cCvPoint::new_object(*CVCONVEXITYDEFECT(self)->start);
}
/*
* Returns the point of the contour where the defect ends
* @overload end
* @return [CvPoint] End point of the contour
*/
VALUE
rb_end(VALUE self)
{
return cCvPoint::new_object(*CVCONVEXITYDEFECT(self)->end);
}
/*
* Returns the farthest from the convex hull point within the defect
* @overload depth_point
* @return [CvPoint] The farthest from the convex hull point within the defect
*/
VALUE
rb_depth_point(VALUE self)
{
return cCvPoint::new_object(*CVCONVEXITYDEFECT(self)->depth_point);
}
/*
* Returns distance between the farthest point and the convex hull
* @overload depth
* @return [Number] Distance between the farthest point and the convex hull
*/
VALUE
rb_depth(VALUE self)
{
return rb_float_new(CVCONVEXITYDEFECT(self)->depth);
}
void
init_ruby_class()
{
#if 0
// For documentation using YARD
VALUE opencv = rb_define_module("OpenCV");
#endif
if (rb_klass)
return;
VALUE opencv = rb_module_opencv();
rb_klass = rb_define_class_under(opencv, "CvConvexityDefect", rb_cObject);
rb_define_method(rb_klass, "start", RUBY_METHOD_FUNC(rb_start), 0);
rb_define_method(rb_klass, "end", RUBY_METHOD_FUNC(rb_end), 0);
rb_define_method(rb_klass, "depth_point", RUBY_METHOD_FUNC(rb_depth_point), 0);
rb_define_method(rb_klass, "depth", RUBY_METHOD_FUNC(rb_depth), 0);
}
__NAMESPACE_END_CVCONVEXITYDEFECT
__NAMESPACE_END_OPENCV