Added to Java API classes Range and CvSlice.
authorLeonid Beynenson <no@email>
Wed, 13 Jul 2011 11:23:32 +0000 (11:23 +0000)
committerLeonid Beynenson <no@email>
Wed, 13 Jul 2011 11:23:32 +0000 (11:23 +0000)
modules/java/android_test/src/org/opencv/test/highgui/VideoCaptureTest.java
modules/java/gen_java.py
modules/java/src/java/Range.java [new file with mode: 0644]

index ff8f62d..2d848a8 100644 (file)
@@ -4,7 +4,6 @@ import org.opencv.highgui;
 import org.opencv.highgui.VideoCapture;
 
 import org.opencv.test.OpenCVTestCase;
-import org.opencv.test.OpenCVTestRunner;
 
 
 public class VideoCaptureTest extends OpenCVTestCase {
@@ -102,7 +101,7 @@ public class VideoCaptureTest extends OpenCVTestCase {
                capture.release();
                assertTrue(isSucceed);
                assertFalse(dst.empty());
-               OpenCVTestRunner.Log(dst.toString());
+               //OpenCVTestRunner.Log(dst.toString());
                assertEquals(1, dst.channels());
        }
 
index 95fa410..0dd1e00 100644 (file)
@@ -58,6 +58,12 @@ type_dict = {
     "Scalar"  : { "j_type" : "Scalar",  "jn_args" : (("double", ".v0"), ("double", ".v1"), ("double", ".v2"), ("double", ".v3")),\r
                   "jni_var" : "cv::Scalar %(n)s(%(n)s_v0, %(n)s_v1, %(n)s_v2, %(n)s_v3)",\r
                   "suffix" : "DDDD"},\r
+    "Range"   : { "j_type" : "Range",  "jn_args" : (("int", ".start"), ("int", ".end")),\r
+                  "jni_var" : "cv::Range %(n)s(%(n)s_start, %(n)s_end)",\r
+                  "suffix" : "II"},\r
+    "CvSlice"   : { "j_type" : "Range",  "jn_args" : (("int", ".start"), ("int", ".end")),\r
+                  "jni_var" : "cv::Range %(n)s(%(n)s_start, %(n)s_end)",\r
+                  "suffix" : "II"},\r
     "string"  : { "j_type" : "java.lang.String",  "jn_type" : "java.lang.String",\r
                   "jni_type" : "jstring", "jni_name" : "n_%(n)s",\r
                   "jni_var" : 'const char* utf_%(n)s = env->GetStringUTFChars(%(n)s, 0); std::string n_%(n)s( utf_%(n)s ? utf_%(n)s : "" ); env->ReleaseStringUTFChars(%(n)s, utf_%(n)s)',\r
diff --git a/modules/java/src/java/Range.java b/modules/java/src/java/Range.java
new file mode 100644 (file)
index 0000000..e4db9c4
--- /dev/null
@@ -0,0 +1,68 @@
+package org.opencv;\r
+\r
+//javadoc:Range\r
+public class Range {\r
+       \r
+       public int start, end;\r
+\r
+       public Range(int s, int e) {\r
+               this.start = s;\r
+               this.end = e;\r
+       }\r
+\r
+       public Range() {\r
+               this(0, 0);\r
+       }\r
+\r
+       public int size() {\r
+               return end-start;\r
+       }\r
+\r
+       public boolean empty() {\r
+               return start==end;\r
+       }\r
+\r
+       public static Range all() {\r
+               return new Range(Integer.MIN_VALUE , Integer.MAX_VALUE);\r
+       }\r
+\r
+       public Range intersection(Range r1) {\r
+               Range r = new Range(Math.max(r1.start, this.start), Math.min(r1.end, this.end));\r
+               r.end = Math.max(r.end, r.start);\r
+               return r;\r
+       }\r
+       public Range shift(int delta) {\r
+               return new Range(start+delta, end+delta);\r
+       }\r
+       \r
+       \r
+       public Range clone() {\r
+               return new Range(start, end);\r
+       }\r
+       \r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               long temp;\r
+               temp = Double.doubleToLongBits(start);\r
+               result = prime * result + (int) (temp ^ (temp >>> 32));\r
+               temp = Double.doubleToLongBits(end);\r
+               result = prime * result + (int) (temp ^ (temp >>> 32));\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj) return true;\r
+               if (!(obj instanceof Range)) return false;\r
+               Range it = (Range) obj;\r
+               return start == it.start && end == it.end;\r
+       }\r
+\r
+       @Override\r
+       public String toString() {\r
+               if (this == null) return "null";\r
+               return "[" + start + ", " + end + ")";\r
+       }\r
+}\r