/** * テーブル操作関数です。{@link NyARCode}を元にして、テーブルにマーカパターンを追加します。 * * @param i_code ARToolKit形式のパターンコードを格納したオブジェクト。このオブジェクトは、関数成功後はインスタンスが所有します。 * パターンコードの解像度は、コンストラクタに指定した高さと幅である必要があります。 * @param i_id このマーカを識別する、ユーザ定義のID値です。任意の値を指定できます。不要な場合は0を指定してください。 * @param i_name ユーザ定義の名前です。任意の値を指定できます。不要な場合はnullを指定して下さい。 * @param i_width 実際のマーカの高さです。[通常mm単位] * @param i_height 実際のマーカの幅です。[通常mm単位] * @return 登録に成功すると、trueを返します。 */ public boolean addMarker( NyARCode i_code, int i_id, String i_name, double i_width, double i_height) { assert (i_code.getHeight() == this._resolution_height && i_code.getHeight() == this._resolution_width); MarkerTable.SerialTableRow d = this._table.prePush(); if (d == null) { return false; } d.setValue(i_code, i_id, i_name, i_width, i_height); return true; }
/** * テーブル操作関数です。ARToolkit準拠のパターンファイルを読み込み、テーブルへ追加します。 * * @param i_filename パターンファイルのファイルパスを指定します。 * @param i_id このマーカを識別するユーザ定義のID値です。任意の値を指定できます。不要な場合は0を指定してください。 * @param i_name ユーザ定義の名前です。任意の値を指定できます。不要な場合はnullを指定して下さい。 * @param i_width 実際のマーカの高さです。[通常mm単位] * @param i_height 実際のマーカの幅です。[通常mm単位] * @return 登録に成功すると、trueを返します。 * @throws NyARException */ public boolean addMarkerFromARPattFile( String i_filename, int i_id, String i_name, double i_width, double i_height) throws NyARException { MarkerTable.SerialTableRow d = this._table.prePush(); if (d == null) { return false; } NyARCode c = new NyARCode(this._resolution_width, this._resolution_height); c.loadARPattFromFile(i_filename); d.setValue(c, i_id, i_name, i_width, i_height); return true; }
/** * テーブル操作関数です。{@link NyARRgbRaster}クラスのオブジェクトからマーカパターンを生成して、テーブルへ追加します。方位は、上方向がdirection=0になります。 * * @param i_raster マーカパターンの元となるラスタを指定します。解像度は、コンストラクタで指定したものと同じでなければなりません。 * @param i_id このマーカを識別するユーザ定義のID値です。任意の値を指定できます。不要な場合は0を指定してください。 * @param i_name ユーザ定義の名前です。任意の値を指定できます。不要な場合はnullを指定して下さい。 * @param i_width 実際のマーカの高さです。[通常mm単位] * @param i_height 実際のマーカの幅です。[通常mm単位] * @return 登録に成功すると、trueを返します。 * @throws NyARException */ public boolean addMarker( NyARRgbRaster i_raster, int i_id, String i_name, double i_width, double i_height) throws NyARException { MarkerTable.SerialTableRow d = this._table.prePush(); if (d == null) { return false; } NyARCode c = new NyARCode(this._resolution_width, this._resolution_height); c.setRaster(i_raster); d.setValue(c, i_id, i_name, i_width, i_height); return true; }