OSDN Git Service

[更新]NyARToolkit/nyatlaブランチ-2.0.0候補
authornyatla <nyatla@7cac0a50-4618-4814-88d0-24b83990f816>
Sun, 14 Sep 2008 14:28:14 +0000 (14:28 +0000)
committernyatla <nyatla@7cac0a50-4618-4814-88d0-24b83990f816>
Sun, 14 Sep 2008 14:28:14 +0000 (14:28 +0000)
12 files changed:
src/jp/nyatla/nyartoolkit/core/NyARSquareDetector.java
src/jp/nyatla/nyartoolkit/core/NyARSquareStack.java
src/jp/nyatla/nyartoolkit/core/labeling/NyARLabelingImage.java
src/jp/nyatla/nyartoolkit/core/labeling/NyARLabelingLabelStack.java
src/jp/nyatla/nyartoolkit/core/labeling/NyARLabeling_ARToolKit.java
src/jp/nyatla/nyartoolkit/core/types/stack/NyARIntPointStack.java
src/jp/nyatla/nyartoolkit/core/types/stack/NyARIntRectStack.java
src/jp/nyatla/nyartoolkit/core2/temp/NyARLabeling_ARToolKit_X2.java
src/jp/nyatla/nyartoolkit/detector/NyARDetectMarker.java
src/jp/nyatla/nyartoolkit/detector/NyARSingleDetectMarker.java
src/jp/nyatla/utils/NyObjectStack.java
src/jp/nyatla/utils/j2se/LabelingBufferdImage.java

index 3d8b3ad..0d64a67 100644 (file)
@@ -128,7 +128,7 @@ public class NyARSquareDetector implements INyARSquareDetector
                }\r
 \r
                final NyARLabelingLabelStack stack = limage.getLabelStack();\r
-               final NyARLabelingLabel[] labels = stack.getArray();\r
+               final NyARLabelingLabel[] labels = (NyARLabelingLabel[])stack.getArray();\r
                \r
                \r
                // ラベルを大きい順に整列\r
index f1686af..44a63d1 100644 (file)
@@ -49,15 +49,6 @@ public class NyARSquareStack extends NyObjectStack
                }\r
        }\r
 \r
-       public NyARSquare[] getArray()\r
-       {\r
-               return (NyARSquare[]) this._items;\r
-       }\r
-       public NyARSquare getItem(int i_index)\r
-       {\r
-               return (NyARSquare) this._items[i_index];\r
-       }\r
-\r
        public NyARSquare prePush() throws NyARException\r
        {\r
                return (NyARSquare) super.prePush();\r
index 80655ce..fb8d096 100644 (file)
@@ -131,7 +131,7 @@ public class NyARLabelingImage extends NyARRaster_BasicClass implements INyARLab
        {\r
                final int[] xdir = this._getContour_xdir;// static int xdir[8] = { 0,1, 1, 1, 0,-1,-1,-1};\r
                final int[] ydir = this._getContour_ydir;// static int ydir[8] = {-1,-1,0, 1, 1, 1, 0,-1};\r
-               final NyARLabelingLabel label=this._label_list.getItem(i_index);                \r
+               final NyARLabelingLabel label=(NyARLabelingLabel)this._label_list.getItem(i_index);             \r
                int i;\r
                //クリップ領域の上端に接しているポイントを得る。\r
                int sx=getTopClipTangentX(label);\r
index 6dc2a67..f405a2e 100644 (file)
@@ -55,14 +55,7 @@ public class NyARLabelingLabelStack extends NyObjectStack
                        i_buffer[i] = new NyARLabelingLabel();\r
                }\r
        }\r
-       public NyARLabelingLabel[] getArray()\r
-       {\r
-               return (NyARLabelingLabel[]) this._items;\r
-       }\r
-       public NyARLabelingLabel getItem(int i_index)\r
-       {\r
-               return (NyARLabelingLabel)this._items[i_index];\r
-       }\r
+\r
        public NyARLabelingLabel prePush() throws NyARException\r
        {\r
                return (NyARLabelingLabel) super.prePush();\r
index c5a1c98..76bf91e 100644 (file)
@@ -258,7 +258,7 @@ public class NyARLabeling_ARToolKit implements INyARLabeling
 \r
                // エリアと重心、クリップ領域を計算\r
                NyARLabelingLabel label_pt;\r
-               NyARLabelingLabel[] labels = label_list.getArray();\r
+               NyARLabelingLabel[] labels = (NyARLabelingLabel[])label_list.getArray();\r
                for (i = 0; i < wlabel_num; i++) {\r
                        label_pt =labels[i];\r
                        label_pt.id =i+1;\r
index fbc6a79..e260789 100644 (file)
@@ -50,10 +50,6 @@ public class NyARIntPointStack extends NyObjectStack
                }\r
        }\r
 \r
-       public NyARIntPoint[] getArray()\r
-       {\r
-               return (NyARIntPoint[]) this._items;\r
-       }\r
 \r
        public NyARIntPoint prePush() throws NyARException\r
        {\r
index 8191376..eb688bc 100644 (file)
@@ -50,10 +50,6 @@ public class NyARIntRectStack extends NyObjectStack
                }\r
        }\r
 \r
-       public NyARIntRect[] getArray()\r
-       {\r
-               return (NyARIntRect[]) this._items;\r
-       }\r
 \r
        public NyARIntRect prePush() throws NyARException\r
        {\r
index 775a43d..3c35e6b 100644 (file)
@@ -275,7 +275,7 @@ public class NyARLabeling_ARToolKit_X2 implements INyARLabeling
                // ラベルバッファを予約\r
                i_stack.reserv(i_number_of_label);\r
                // エリアと重心、クリップ領域を計算\r
-               final NyARLabelingLabel[] labels = i_stack.getArray();\r
+               final NyARLabelingLabel[] labels = (NyARLabelingLabel[])i_stack.getArray();\r
                for (int i = 0; i < i_number_of_label; i++) {\r
                        final int[] temp_ptr = temp[i];\r
                        temp_ptr[0]=0;//area\r
index 38a5e69..4932472 100644 (file)
@@ -185,7 +185,7 @@ public class NyARDetectMarker
 \r
                // 1スクエア毎に、一致するコードを決定していく\r
                for (int i = 0; i < number_of_square; i++) {\r
-                       NyARSquare square = l_square_list.getItem(i);\r
+                       NyARSquare square = (NyARSquare)l_square_list.getItem(i);\r
                        // 評価基準になるパターンをイメージから切り出す\r
                        if (!this._patt.pickFromRaster(i_raster, square)) {\r
                                // イメージの切り出しは失敗することもある。\r
index 39a6f09..91c09a9 100644 (file)
@@ -136,7 +136,7 @@ public class NyARSingleDetectMarker
                }\r
 \r
                // 評価基準になるパターンをイメージから切り出す\r
-               if (!this._patt.pickFromRaster(i_raster, l_square_list.getItem(0))) {\r
+               if (!this._patt.pickFromRaster(i_raster, (NyARSquare)l_square_list.getItem(0))) {\r
                        // パターンの切り出しに失敗\r
                        return false;\r
                }\r
@@ -152,7 +152,7 @@ public class NyARSingleDetectMarker
                double confidence = this._match_patt.getConfidence();\r
                for (int i = 1; i < number_of_square; i++) {\r
                        // 次のパターンを取得\r
-                       this._patt.pickFromRaster(i_raster, l_square_list.getItem(i));\r
+                       this._patt.pickFromRaster(i_raster, (NyARSquare)l_square_list.getItem(i));\r
                        // 評価器にセットする。\r
                        this._match_patt.setPatt(this._patt);\r
                        // コードと比較する\r
@@ -167,7 +167,7 @@ public class NyARSingleDetectMarker
                        confidence = c2;\r
                }\r
                // マーカー情報を保存\r
-               this._detected_square = l_square_list.getItem(square_index);\r
+               this._detected_square = (NyARSquare)l_square_list.getItem(square_index);\r
                this._detected_direction = direction;\r
                this._detected_confidence = confidence;\r
                return true;\r
index 87cb37f..e494cc1 100644 (file)
@@ -91,7 +91,7 @@ public abstract class NyObjectStack
         * 見かけ上の要素数を1減らして、最後尾のアイテムを返します。\r
         * @return\r
         */\r
-       public Object pop() throws NyARException\r
+       public final Object pop() throws NyARException\r
        {\r
                if(this._length<1){\r
                        throw new NyARException();\r
@@ -126,30 +126,30 @@ public abstract class NyObjectStack
                return;\r
        }\r
 \r
+\r
+\r
+       /**\r
+        * この関数を継承先クラスで実装して下さい。\r
+        * i_bufferの配列の、i_start番目からi_end-1番目までの要素に、オブジェクトを割り当てて下さい。\r
+        * \r
+        * @param i_start\r
+        * @param i_end\r
+        * @param i_buffer\r
+        */\r
+       protected abstract void onReservRequest(int i_start, int i_end, Object[] i_buffer);\r
        /**\r
         * 配列を返します。\r
         * \r
         * @return\r
         */\r
-       protected Object[] getArray()\r
+       public final Object[] getArray()\r
        {\r
                return this._items;\r
        }\r
-       protected Object getItem(int i_index)\r
+       public final Object getItem(int i_index)\r
        {\r
                return this._items[i_index];\r
        }\r
-\r
-       /**\r
-        * この関数を継承先クラスで実装して下さい。\r
-        * i_bufferの配列の、i_start番目からi_end-1番目までの要素に、オブジェクトを割り当てて下さい。\r
-        * \r
-        * @param i_start\r
-        * @param i_end\r
-        * @param i_buffer\r
-        */\r
-       protected abstract void onReservRequest(int i_start, int i_end, Object[] i_buffer);\r
-\r
        /**\r
         * 配列の見かけ上の要素数を返却します。\r
         * @return\r
index 403bf11..18d57d6 100644 (file)
@@ -174,7 +174,7 @@ public class LabelingBufferdImage extends BufferedImage
        public void overlayData(NyARIntPointStack i_stack)\r
        {\r
                int count = i_stack.getLength();\r
-               NyARIntPoint[] items = i_stack.getArray();\r
+               NyARIntPoint[] items = (NyARIntPoint[])i_stack.getArray();\r
                Graphics g = this.getGraphics();\r
                for (int i = 0; i < count; i++) {\r
                        int x = items[i].x;\r
@@ -189,7 +189,7 @@ public class LabelingBufferdImage extends BufferedImage
        {\r
                Color[] c=new Color[]{Color.cyan,Color.red,Color.green};\r
                int count = i_stack.getLength();\r
-               NyARIntRect[] items = i_stack.getArray();\r
+               NyARIntRect[] items = (NyARIntRect[])i_stack.getArray();\r
                Graphics g = this.getGraphics();\r
                for (int i = 0; i < count; i++) {\r
                        int x = items[i].x;\r