From 1ccfa62f4fa8c7cb33ec4e487200f2369cd5a291 Mon Sep 17 00:00:00 2001 From: Jan Starzynski Date: Wed, 17 Jul 2013 15:04:34 +0200 Subject: [PATCH 1/2] adding method dims() to core.Mat --- modules/java/generator/src/cpp/Mat.cpp | 31 +++++++++++++++++++ modules/java/generator/src/java/core+Mat.java | 16 ++++++++++ 2 files changed, 47 insertions(+) diff --git a/modules/java/generator/src/cpp/Mat.cpp b/modules/java/generator/src/cpp/Mat.cpp index 726dcaf5fb..a869900a11 100644 --- a/modules/java/generator/src/cpp/Mat.cpp +++ b/modules/java/generator/src/cpp/Mat.cpp @@ -523,6 +523,37 @@ JNIEXPORT jlong JNICALL Java_org_opencv_core_Mat_n_1colRange +// +// int Mat::dims() +// + +JNIEXPORT jint JNICALL Java_org_opencv_core_Mat_n_1dims + (JNIEnv* env, jclass, jlong self); + +JNIEXPORT jint JNICALL Java_org_opencv_core_Mat_n_1dims + (JNIEnv* env, jclass, jlong self) +{ + try { + LOGD("Mat::n_1dims()"); + Mat* me = (Mat*) self; //TODO: check for NULL + int _retval_ = me->dims; + + return _retval_; + } catch(cv::Exception e) { + LOGD("Mat::n_1cols() catched cv::Exception: %s", e.what()); + jclass je = env->FindClass("org/opencv/core/CvException"); + if(!je) je = env->FindClass("java/lang/Exception"); + env->ThrowNew(je, e.what()); + return 0; + } catch (...) { + LOGD("Mat::n_1cols() catched unknown exception (...)"); + jclass je = env->FindClass("java/lang/Exception"); + env->ThrowNew(je, "Unknown exception in JNI code {Mat::n_1cols()}"); + return 0; + } +} + + // // int Mat::cols() // diff --git a/modules/java/generator/src/java/core+Mat.java b/modules/java/generator/src/java/core+Mat.java index 8dd72fb681..6db255417c 100644 --- a/modules/java/generator/src/java/core+Mat.java +++ b/modules/java/generator/src/java/core+Mat.java @@ -245,6 +245,19 @@ public class Mat { return retVal; } + // + // C++: int Mat::dims() + // + + // javadoc: Mat::dims() + public int dims() + { + + int retVal = n_dims(nativeObj); + + return retVal; + } + // // C++: int Mat::cols() // @@ -1130,6 +1143,9 @@ public class Mat { // C++: Mat Mat::colRange(int startcol, int endcol) private static native long n_colRange(long nativeObj, int startcol, int endcol); + // C++: int Mat::dims() + private static native int n_dims(long nativeObj); + // C++: int Mat::cols() private static native int n_cols(long nativeObj); From 12c42ac14558d05556c2168b1f640600de3ad424 Mon Sep 17 00:00:00 2001 From: Jan Starzynski Date: Wed, 17 Jul 2013 18:41:54 +0200 Subject: [PATCH 2/2] fixed strings in n1_dims(): n1_dcols() -> n1_dims() --- modules/java/generator/src/cpp/Mat.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/java/generator/src/cpp/Mat.cpp b/modules/java/generator/src/cpp/Mat.cpp index a869900a11..cc60843168 100644 --- a/modules/java/generator/src/cpp/Mat.cpp +++ b/modules/java/generator/src/cpp/Mat.cpp @@ -540,15 +540,15 @@ JNIEXPORT jint JNICALL Java_org_opencv_core_Mat_n_1dims return _retval_; } catch(cv::Exception e) { - LOGD("Mat::n_1cols() catched cv::Exception: %s", e.what()); + LOGD("Mat::n_1dims() catched cv::Exception: %s", e.what()); jclass je = env->FindClass("org/opencv/core/CvException"); if(!je) je = env->FindClass("java/lang/Exception"); env->ThrowNew(je, e.what()); return 0; } catch (...) { - LOGD("Mat::n_1cols() catched unknown exception (...)"); + LOGD("Mat::n_1dims() catched unknown exception (...)"); jclass je = env->FindClass("java/lang/Exception"); - env->ThrowNew(je, "Unknown exception in JNI code {Mat::n_1cols()}"); + env->ThrowNew(je, "Unknown exception in JNI code {Mat::n_1dims()}"); return 0; } }