From d2e8b1969f77f99f8a1ef89af4be35adf4651c40 Mon Sep 17 00:00:00 2001 From: Jean-Tiare LE BIGOT Date: Sun, 20 Jan 2013 14:20:33 +0100 Subject: [PATCH] add bindings for isConvex in contours --- src/Contours.cc | 12 ++++++++++++ src/Contours.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/Contours.cc b/src/Contours.cc index f687625..7d670b3 100755 --- a/src/Contours.cc +++ b/src/Contours.cc @@ -27,6 +27,7 @@ Contour::Init(Handle target) { NODE_SET_PROTOTYPE_METHOD(constructor, "area", Area); NODE_SET_PROTOTYPE_METHOD(constructor, "arcLength", ArcLength); NODE_SET_PROTOTYPE_METHOD(constructor, "approxPolyDP", ApproxPolyDP); + NODE_SET_PROTOTYPE_METHOD(constructor, "isConvex", IsConvex); target->Set(String::NewSymbol("Contours"), m->GetFunction()); }; @@ -99,3 +100,14 @@ Contour::ApproxPolyDP(const Arguments &args) { return scope.Close(v8::Null()); } + + +Handle +Contour::IsConvex(const Arguments &args) { + HandleScope scope; + + Contour *self = ObjectWrap::Unwrap(args.This()); + int pos = args[0]->NumberValue(); + + return scope.Close(Boolean::New(isContourConvex(cv::Mat(self->contours[pos])))); +} diff --git a/src/Contours.h b/src/Contours.h index e832d03..9303182 100755 --- a/src/Contours.h +++ b/src/Contours.h @@ -18,5 +18,6 @@ class Contour: public node::ObjectWrap { static Handle Area(const v8::Arguments&); static Handle ArcLength(const v8::Arguments&); static Handle ApproxPolyDP(const v8::Arguments&); + static Handle IsConvex(const v8::Arguments&); };