\r
import jp.nyatla.nyartoolkit.NyARException;\r
import jp.nyatla.nyartoolkit.core.NyARCode;\r
-import jp.nyatla.nyartoolkit.core.match.NyARMatchPattDeviationColorData;\r
-import jp.nyatla.nyartoolkit.core.match.NyARMatchPattResult;\r
-import jp.nyatla.nyartoolkit.core.match.NyARMatchPatt_Color_WITHOUT_PCA;\r
+import jp.nyatla.nyartoolkit.core.match.*;\r
import jp.nyatla.nyartoolkit.core.raster.rgb.NyARRgbRaster;\r
import jp.nyatla.nyartoolkit.core.rasterreader.NyARPerspectiveRasterReader;\r
import jp.nyatla.nyartoolkit.core.types.NyARBufferType;\r
import jp.nyatla.nyartoolkit.core.types.stack.NyARObjectStack;\r
-import jp.nyatla.nyartoolkit.rpf.reality.nyartk.NyARRealityTarget;\r
-import jp.nyatla.nyartoolkit.rpf.realitysource.nyartk.NyARRealitySource;\r
+import jp.nyatla.nyartoolkit.rpf.reality.nyartk.*;\r
+import jp.nyatla.nyartoolkit.rpf.realitysource.nyartk.*;\r
\r
/**\r
- * 簡易なARToolKitパターンテーブルです。\r
- * このクラスは、ARToolKitスタイルのパターンファイルとIdとメタデータセットテーブルを定義します。\r
+ * このクラスは、ARToolKitマーカパターンのテーブルです。\r
+ * マーカパターンをID番号やメタデータに変換する事に役立ちます。\r
+ * テーブルには、ARToolKitフォーマットのマーカパターンと、ID番号、ユーザ定義のデータのセットを格納します。\r
+ * このクラスは、テーブルの操作機能と、テーブル要素の検索機能を提供します。\r
*/\r
public class ARTKMarkerTable\r
{\r
/**\r
- * selectTarget関数の戻り値を格納します。\r
+ * 結果型です。{@link ARTKMarkerTable#getBestMatchTarget}関数の戻り値を格納します。\r
+ * <p>memo-\r
* 入れ子クラスの作れない処理系では、ARTKMarkerTable_GetBestMatchTargetResultとして宣言してください。\r
+ * </p>\r
*/\r
public static class GetBestMatchTargetResult\r
{\r
- /** 登録時に設定したIDです。*/\r
+ /** 登録時に設定したID値です。*/\r
public int idtag;\r
- /** 登録時に設定した名前です。*/\r
+ /** 登録時に設定した名前文字列です。*/\r
public String name;\r
- /** 登録時に設定したマーカサイズです。*/\r
+ /** 登録時に設定したマーカ幅です。単位は、mm単位です。*/\r
public double marker_width;\r
- /** 登録時に設定したマーカサイズです。*/\r
+ /** 登録時に設定したマーカ高さです。単位は、mm単位です。*/\r
public double marker_height;\r
- /** ARToolKit準拠の、マーカの方位値*/\r
+ /** ARToolKit準拠の、マーカの方位値です。0<=n<=3の値が入ります。*/\r
public int artk_direction;\r
- /** 一致率*/\r
+ /** パターンの一致率です。0<<n<=1.0の数値が入ります。*/\r
public double confidence;\r
}\r
- \r
-\r
+ /**\r
+ * データを格納するリストクラスを定義します。\r
+ */\r
private class MarkerTable extends NyARObjectStack<MarkerTable.SerialTableRow>\r
{\r
public class SerialTableRow\r
private NyARMatchPatt_Color_WITHOUT_PCA _match_patt;\r
private NyARMatchPattDeviationColorData _deviation_data;\r
private MarkerTable _table;\r
+ \r
+ /** ワーク変数*/\r
+ private NyARMatchPattResult __tmp_patt_result=new NyARMatchPattResult();\r
+ \r
+ \r
/**\r
- * コンストラクタです。\r
+ * コンストラクタです。引数にあるパラメータで、空のテーブルを作ります。\r
* @param i_max\r
* 登録するアイテムの最大数です。\r
* @param i_resolution_x\r
- * 登録するパターンの解像度です。\r
+ * 登録するパターンの横解像度です。\r
* ARToolKit互換の標準値は16です。\r
* @param i_resolution_y\r
- * 登録するパターンの解像度です。\r
+ * 登録するパターンの縦解像度です。\r
* ARToolKit互換の標準値は16です。\r
* @param i_edge_x\r
- * エッジ部分の割合です。ARToolKit互換の標準値は25です。\r
+ * エッジ部分の割合です。0<n<100の数値を指定します。\r
+ * ARToolKit互換の標準値は25です。\r
* @param i_edge_y\r
- * エッジ部分の割合です。ARToolKit互換の標準値は25です。\r
+ * エッジ部分の割合です。0<n<100の数値を指定します。\r
+ * ARToolKit互換の標準値は25です。\r
* @param i_sample_per_pix\r
- * パターン取得の1ピクセルあたりのサンプリング数です。1なら1Pixel=1,2なら1Pixel=4のサンプリングをします。\r
+ * 元画像からパターンを取得する時の、1ピクセル当たりのサンプリング数です。\r
+ * 1なら1Pixel=1,2なら1Pixel=4ピクセルの画素を、元画像からサンプリングをします。\r
* ARToolKit互換の標準値は4です。\r
* 高解像度(64以上)のパターンを用いるときは、サンプリング数を低く設定してください。\r
* @throws NyARException \r
this._match_patt=new NyARMatchPatt_Color_WITHOUT_PCA(i_resolution_x,i_resolution_y);\r
}\r
/**\r
- * ARTKパターンコードを、テーブルに追加します。このパターンコードのメタデータとして、IDと名前を指定できます。\r
+ * テーブル操作関数です。{@link NyARCode}を元にして、テーブルにマーカパターンを追加します。\r
* @param i_code\r
- * ARToolKitå½¢å¼\8fã\81®ã\83\91ã\82¿ã\83¼ã\83³ã\82³ã\83¼ã\83\89ã\82\92æ ¼ç´\8dã\81\97ã\81\9fã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\80\82ã\81\93ã\81®ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81¯ã\80\81é\96¢æ\95°æ\88\90å\8a\9få¾\8cã\81¯ã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹ã\81«æ\89\80æ\9c\89ã\81\95ã\82\8cます。\r
+ * ARToolKitå½¢å¼\8fã\81®ã\83\91ã\82¿ã\83¼ã\83³ã\82³ã\83¼ã\83\89ã\82\92æ ¼ç´\8dã\81\97ã\81\9fã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\80\82ã\81\93ã\81®ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81¯ã\80\81é\96¢æ\95°æ\88\90å\8a\9få¾\8cã\81¯ã\82¤ã\83³ã\82¹ã\82¿ã\83³ã\82¹ã\81\8cæ\89\80æ\9c\89ã\81\97ます。\r
* パターンコードの解像度は、コンストラクタに指定した高さと幅である必要があります。\r
* @param i_id\r
- * このマーカを識別するユーザ定義のID値です。任意の値を指定できます。不要な場合は0を指定してください。\r
+ * ã\81\93ã\81®ã\83\9eã\83¼ã\82«ã\82\92è\98å\88¥ã\81\99ã\82\8bã\80\81ã\83¦ã\83¼ã\82¶å®\9a義ã\81®IDå\80¤ã\81§ã\81\99ã\80\82ä»»æ\84\8fã\81®å\80¤ã\82\92æ\8c\87å®\9aã\81§ã\81\8dã\81¾ã\81\99ã\80\82ä¸\8dè¦\81ã\81ªå ´å\90\88ã\81¯0ã\82\92æ\8c\87å®\9aã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82\r
* @param i_name\r
* ユーザ定義の名前です。任意の値を指定できます。不要な場合はnullを指定して下さい。\r
* @param i_width\r
- * マーカの高さ[通常mm単位]\r
+ * 実際のマーカの高さです。[通常mm単位]\r
* @param i_height\r
- * マーカの幅[通常mm単位]\r
+ * 実際のマーカの幅です。[通常mm単位]\r
* @return\r
+ * 登録に成功すると、trueを返します。\r
*/\r
public boolean addMarker(NyARCode i_code,int i_id,String i_name,double i_width,double i_height)\r
{\r
return true;\r
}\r
/**\r
- * i_rasterからパターンコードを生成して、テーブルへ追加します。\r
+ * テーブル操作関数です。{@link NyARRgbRaster}クラスのオブジェクトからマーカパターンを生成して、テーブルへ追加します。方位は、上方向がdirection=0になります。\r
* @param i_raster\r
+ * マーカパターンの元となるラスタを指定します。解像度は、コンストラクタで指定したものと同じでなければなりません。\r
* @param i_id\r
* このマーカを識別するユーザ定義のID値です。任意の値を指定できます。不要な場合は0を指定してください。\r
* @param i_name\r
* ユーザ定義の名前です。任意の値を指定できます。不要な場合はnullを指定して下さい。\r
* @param i_width\r
- * マーカの高さ[通常mm単位]\r
+ * 実際のマーカの高さです。[通常mm単位]\r
* @param i_height\r
- * マーカの幅[通常mm単位]\r
+ * 実際のマーカの幅です。[通常mm単位]\r
* @return\r
+ * 登録に成功すると、trueを返します。\r
* @throws NyARException\r
*/\r
public boolean addMarker(NyARRgbRaster i_raster,int i_id,String i_name,double i_width,double i_height) throws NyARException\r
return true;\r
}\r
/**\r
- * ARToolkit準拠のパターンファイルからパターンコードを生成して、テーブルへ追加します。\r
+ * テーブル操作関数です。ARToolkit準拠のパターンファイルを読み込み、テーブルへ追加します。\r
* @param i_filename\r
+ * パターンファイルのファイルパスを指定します。\r
* @param i_id\r
* このマーカを識別するユーザ定義のID値です。任意の値を指定できます。不要な場合は0を指定してください。\r
* @param i_name\r
* ユーザ定義の名前です。任意の値を指定できます。不要な場合はnullを指定して下さい。\r
* @param i_width\r
- * マーカの高さ[通常mm単位]\r
+ * 実際のマーカの高さです。[通常mm単位]\r
* @param i_height\r
- * マーカの幅[通常mm単位]\r
+ * 実際のマーカの幅です。[通常mm単位]\r
* @return\r
+ * 登録に成功すると、trueを返します。\r
* @throws NyARException\r
*/\r
public boolean addMarkerFromARPattFile(String i_filename,int i_id,String i_name,double i_width,double i_height) throws NyARException\r
return true;\r
} \r
\r
- private NyARMatchPattResult __tmp_patt_result=new NyARMatchPattResult();\r
/**\r
- * RealityTargetに最も一致するパターンをテーブルから検索して、メタデータを返します。\r
+ * テーブル検索関数です。\r
+ * {@link NyARRealityTarget}を元に{@link NyARRealitySource}からパターンのサンプリングを行い、最も一致するマーカパターンをテーブルから検索します。\r
+ * 検索キーとなる{@link NyARRealityTarget}は、{@link NyARReality}派生クラスから取得した物を指定します。\r
* @param i_target\r
- * Realityが検出したターゲット。\r
- * Unknownターゲットを指定すること。\r
+ * 検索キーとなる、Unknownステータスの{@link NyARRealityTarget}クラスのオブジェクトを指定します。\r
* @param i_rtsorce\r
- * i_targetを検出したRealitySourceインスタンス。\r
+ * i_targetを検出した{@link NyARRealitySource}のインスタンスを指定します。関数は、このソースからパターン取得を行います。\r
* @param o_result\r
* 返却値を格納するインスタンスを設定します。\r
- * 返却値がtrueの場合のみ、内容が更新されています。\r
* @return\r
- * 特定に成功すると、trueを返します。\r
+ * パターンのサンプリングに成功すると、trueを返します。\r
+ * 返却値がtrueの場合のみ、内容が更新されています。\r
* @throws NyARException \r
*/\r
public boolean getBestMatchTarget(NyARRealityTarget i_target,NyARRealitySource i_rtsorce,GetBestMatchTargetResult o_result) throws NyARException\r