/**
  * 画像のサイズを指定できる{@link #addNftTarget}です。
  * @param i_fileset_prefix
  * {@link #addNftTarget(String)}を参照してください。
  * @param i_width_in_msec
  * 画像サイズの横幅をmm単位で指定します。立幅は横幅に応じてスケーリングされます。
  * @return
  * 特徴点セットのID値
  */
 public int addNftTarget(String i_filepath, double i_width_in_msec)
 {
     if (System.Text.RegularExpressions.Regex.IsMatch(i_filepath, ".*\\.nftdataset$"))
     {
         return(this.addNftTarget(NyARNftDataSet.loadFromNftDataSet(i_filepath, i_width_in_msec)));
     }
     else
     {
         return(this.addNftTarget(NyARNftDataSet.loadFromNftFiles(i_filepath, i_width_in_msec)));
     }
 }
 /**
  * 生成済みのNFTの特徴点データセットをインスタンスに登録します。
  * @param i_dataset
  * 登録する特徴点データセット
  * @return
  * 特徴点セットのID値
  */
 public int addNftTarget(NyARNftDataSet i_dataset)
 {
     //KPMスレッドが待機中になるまで待つ
     while (this._kpm_thread.ThreadState == ThreadState.Running)
     {
         Thread.Sleep(1);
     }
     //追加
     this._nftdatalist.Add(new NftTarget(i_dataset));
     return(this._nftdatalist.Count - 1);
 }
 /** コンストラクタ*/
 public NftTarget(NyARNftDataSet i_dataset)
 {
     this.dataset         = i_dataset;
     this.stage           = ST_KPM_SEARCH;
     this.back_has_result = false;
 }
 /**
  * InputStreamから.nftdatasetを読みだして登録します。
  * @param i_stream
  * @param i_width_in_msec
  * @return
  */
 public int addNftTarget(Stream i_stream, double i_width_in_msec)
 {
     return(this.addNftTarget(NyARNftDataSet.loadFromNftDataSet(i_stream, i_width_in_msec)));
 }
 /**
  * NFTファイルセットのプレフィックスを指定して、NFTターゲットをインスタンスに登録します。
  * 登録される画像のサイズはNFTターゲットファイルの値です。
  * @param i_filepath
  * NFTターゲットを指定します。
  * 拡張子が.nftdatasetの場合は、nftdataset形式のファイルを登録します。
  * それ以外の場合は、ファイルパスに.iset,.fset,.fset3を加えたファイルをセットにして登録します。
  * @return
  * 特徴点セットのID値
  */
 public int addNftTarget(String i_fileset_prefix)
 {
     return(this.addNftTarget(NyARNftDataSet.loadFromNftFiles(i_fileset_prefix)));
 }