OSDN Git Service

git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit/trunk@808 7cac0...
[nyartoolkit-and/nyartoolkit-and.git] / lib / test / jp / nyatla / nyartoolkit / test / NyIdTest.java
index 32530bd..16e3507 100644 (file)
@@ -41,18 +41,37 @@ import jp.nyatla.nyartoolkit.nyidmarker.data.*;
 import jp.nyatla.nyartoolkit.processor.*;\r
 \r
 /**\r
- * 320x240のBGRA32で記録されたIdmarkerを撮影したRAWイメージから、\r
- * Idマーカを認識します。\r
- *\r
+ * このプログラムは、NyIdマーカ検出クラス{@link SingleNyIdMarkerProcesser}の動作チェックプログラムです。\r
+ * 静止画から1個のIDマーカを読み取り、その数値を得る動作を確認できます。\r
+ * \r
+ * このプログラムには結果を表示する機能がありません。\r
+ * 数値の確認は、ブレークポイントを仕掛けるなどして行ってください。\r
  */\r
 public class NyIdTest\r
 {\r
+       /**\r
+        * このクラスは、{@link SingleNyIdMarkerProcesser}の自己コールバック関数を実装したクラスです。\r
+        * 自己コールバック関数は、{@link #detectMarker}の内部から呼び出さます。\r
+        * これにより、アプリケーションにマーカ状態の変化を通知します。\r
+        * 通知される条件については、それぞれの関数の説明を見てください。\r
+        */\r
     public class MarkerProcessor extends SingleNyIdMarkerProcesser\r
     {\r
         private Object _sync_object = new Object();\r
+        /** {@link #onUpdateHandler}関数で得た姿勢行列のポインタ*/\r
         public NyARTransMatResult transmat = null;\r
+        /** {@link #onEnterHandler}関数で得た姿勢行列のポインタ*/\r
         public int current_id = -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 Exception\r
         {\r
                super();//\r
@@ -61,7 +80,10 @@ public class NyIdTest
             return;\r
         }\r
         /**\r
-         * アプリケーションフレームワークのハンドラ(マーカ出現)\r
+         * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+         * 画像にマーカが現われたときに呼び出されます。\r
+         * ここでは、例として、マーカの情報を読み取り、それを{@link NyIdMarkerData_RawBit}を使って\r
+         * int値にエンコードする処理を実装しています。\r
          */\r
         protected void onEnterHandler(INyIdMarkerData i_code)\r
         {\r
@@ -87,7 +109,10 @@ public class NyIdTest
             }\r
         }\r
         /**\r
-         * アプリケーションフレームワークのハンドラ(マーカ消滅)\r
+         * この関数は、{@link #detectMarker}から呼び出される自己コールバック関数です。\r
+         * 画像からマーカが消え去った時に呼び出されます。\r
+         * ここでは、マーカが消えた場合の後始末処理をします。\r
+         * このサンプルでは、メンバ変数をリセットしています。\r
          */\r
         protected void onLeaveHandler()\r
         {\r
@@ -99,7 +124,11 @@ public class NyIdTest
             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
@@ -111,9 +140,19 @@ public class NyIdTest
     }\r
        private final String data_file = "../Data/320x240NyId.raw";\r
        private final String camera_file = "../Data/camera_para.dat";\r
+       /**\r
+        * コンストラクタです。\r
+        * ここで行う処理はありません。\r
+        */\r
     public NyIdTest()\r
     {\r
     }\r
+    /**\r
+     * テスト関数の本体です。\r
+     * 設定ファイル、サンプル画像の読み込んだのちに{@link MarkerProcessor}を生成し、\r
+     * 1回だけ画像を入力して、マーカ検出を試行します。\r
+     * @throws Exception\r
+     */\r
     public void Test() throws Exception\r
     {\r
         //AR用カメラパラメタファイルをロード\r
@@ -134,6 +173,12 @@ public class NyIdTest
         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