OSDN Git Service

git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit/trunk@809 7cac0...
[nyartoolkit-and/nyartoolkit-and.git] / lib / test / jp / nyatla / nyartoolkit / test / SingleARMarkerTest.java
index 957efa4..8411486 100644 (file)
@@ -40,7 +40,21 @@ import jp.nyatla.nyartoolkit.core.squaredetect.NyARSquare;
 import jp.nyatla.nyartoolkit.core.transmat.*;\r
 import jp.nyatla.nyartoolkit.core.*;\r
 import jp.nyatla.nyartoolkit.processor.*;\r
-\r
+/**\r
+ * このプログラムは、NyIdマーカ検出クラス{@link SingleARMarkerProcesser}の動作チェックプログラムです。\r
+ * 静止画から1個のhiroマーカを認識する動作を確認できます。\r
+ * \r
+ * このプログラムには結果を表示する機能がありません。\r
+ * 数値の確認は、ブレークポイントを仕掛けるなどして行ってください。\r
+ * <p>必要なファイル - \r
+ * このプログラムの実行には、以下の外部ファイルが必要です。\r
+ * <ul>\r
+ * <li>camera_para.dat - ARToolKit付属のカメラパラメータファイル\r
+ * <li>patt.hiro - ARToolKit付属のHiroマーカのパターンファイル\r
+ * <li>320x240ABGR.raw - Hiroマーカを撮影した、QVGAサイズのXBGR形式のサンプル画像\r
+ * </ul>\r
+ * </p>\r
+ */\r
 public class SingleARMarkerTest\r
 {\r
        class MarkerProcessor extends SingleARMarkerProcesser\r
@@ -48,7 +62,16 @@ public class SingleARMarkerTest
                private Object _sync_object=new Object();\r
                public NyARTransMatResult transmat=null;\r
                public int current_code=-1;\r
-\r
+           /**\r
+         * コンストラクタです。\r
+         * パラメータを{@link #initInstance}へセットして初期化します。\r
+         * ここでは、{@link #initInstance}へ値を引き渡すだけです。\r
+         * @param i_cparam\r
+         * カメラパラメータ。\r
+         * @param i_raster_format\r
+         * 入力ラスタのフォーマット。\r
+         * @throws Exception\r
+         */\r
                public MarkerProcessor(NyARParam i_cparam,int i_raster_format) throws NyARException\r
                {\r
                        //アプリケーションフレームワークの初期化\r
@@ -56,12 +79,24 @@ public class SingleARMarkerTest
                        initInstance(i_cparam,i_raster_format);\r
                        return;\r
                }\r
+        /**\r
+         * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+         * 画像にマーカが現われたときに呼び出されます。\r
+         * ここでは、例として、マーカのインデクス番号を保存する処理をしています。\r
+         */            \r
                protected void onEnterHandler(int i_code)\r
                {\r
                        synchronized(this._sync_object){\r
                                current_code=i_code;\r
                        }\r
+                       System.out.println("Marker Number:"+i_code);\r
                }\r
+        /**\r
+         * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+         * 画像からマーカが消え去った時に呼び出されます。\r
+         * ここでは、マーカが消えた場合の後始末処理をします。\r
+         * このサンプルでは、メンバ変数をリセットしています。\r
+         */            \r
                protected void onLeaveHandler()\r
                {\r
                        synchronized(this._sync_object){\r
@@ -70,7 +105,13 @@ public class SingleARMarkerTest
                        }\r
                        return;                 \r
                }\r
-\r
+        /**\r
+         * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+         * 画像中のマーカの位置が変化したときに呼び出されます。\r
+         * この関数は、{@link #onEnterHandler}直後に呼び出されることもあります。\r
+         * \r
+         * このサンプルでは、引数で通知されたマーカの姿勢を、メンバ変数に保存しています。\r
+         */\r
                protected void onUpdateHandler(NyARSquare i_square, NyARTransMatResult result)\r
                {\r
                        synchronized(this._sync_object){\r
@@ -81,10 +122,19 @@ public class SingleARMarkerTest
        private final static String CARCODE_FILE = "../Data/patt.hiro";\r
        private final static String PARAM_FILE = "../Data/camera_para.dat";     \r
        private final String data_file = "../Data/320x240ABGR.raw";\r
-\r
+       /**\r
+        * コンストラクタです。\r
+        * ここで行う処理はありません。\r
+        */\r
        public SingleARMarkerTest()\r
     {\r
     }\r
+    /**\r
+     * テスト関数の本体です。\r
+     * 設定ファイル、サンプル画像の読み込んだのちに、1種類のマーカを登録した{@link MarkerProcessor}を生成し、\r
+     * 1回だけ画像を入力して、マーカ検出を試行します。\r
+     * @throws Exception\r
+     */        \r
     public void Test() throws Exception\r
     {\r
         //AR用カメラパラメタファイルをロード\r
@@ -109,9 +159,14 @@ public class SingleARMarkerTest
         pr.detectMarker(ra);\r
         return;\r
     }\r
+    /**\r
+     * プログラムのエントリーポイントです。\r
+     * サンプルプログラム{@link NyIdTest}を実行します。\r
+     * @param args\r
+     * 引数はありません。\r
+     */    \r
        public static void main(String[] args)\r
        {\r
-\r
                try {\r
                        SingleARMarkerTest t = new SingleARMarkerTest();\r
                        // t.Test_arGetVersion();\r