パッケージ | クラス | 使用 | 非推奨 API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## jp.nyatla.nyar4psg
クラス NyARPsgBaseClass

    java.lang.Object
      jp.nyatla.nyar4psg.NyARPsgBaseClass

直系の既知のサブクラス:
  MultiMarker, SingleMarkerBaseClass

     class NyARPsgBaseClass

extends Object

このクラスは、NyARToolkit for Processingのベースクラスです。 ARToolkit座標系の環境定数、環境設定機能を継承クラスに対して提供します。

フィールドの概要
`protected NyARParam` | `_ar_param` ARToolkitパラメータのインスタンスです。
`protected NyAR4PsgConfig` | `_config`
`protected NyARFrustum` | `_frustum`
`protected NyARPerspectiveRasterReader` | `_preader` 画像抽出用のオブジェクトです。
`protected PMatrix3D` | `_ps_background_mv` バックグラウンド用のModelviewMatrixです。
`protected PMatrix3D` | `_ps_projection` ProcessingスタイルのProjectionMatrixです。
`protected PApplet` | `_ref_papplet` 参照するAppletのインスタンスです。
`protected PImageRaster` | `_src_raster` 入力画像ラスタです。
`float` | `FRUSTUM_DEFAULT_FAR_CLIP` farクリップ面のデフォルト値です。
`float` | `FRUSTUM_DEFAULT_NEAR_CLIP` nearクリップ面のデフォルト値です。
`static String` | `VERSION` バージョン文字列です。

コンストラクタの概要
`protected` | `NyARPsgBaseClass()` コンストラクタです。

メソッドの概要
`void` | `drawBackground(PImage i_img)` この関数は、PImageをバックグラウンドへ描画します。
`PMatrix3D` | `getProjectionMatrix()` この関数は、ProjectionMatrixを複製して返します。
`protected void` | `initInstance(PApplet parent, String i_cparam_file, int i_width, int i_height, NyAR4PsgConfig i_config)`
`protected static void` | `matResult2GLArray(NyARTransMatResult i_src, double[] o_gl_array)`
`protected static void` | `matResult2PMatrix3D(NyARDoubleMatrix44 i_src, int i_mode, PMatrix3D o_pmatrix)` 変換行列をProcessingのMatrixへ変換します。
`protected PImage` | `pickupMarkerImage(NyARDoubleMatrix44 i_mat, int i_x1, int i_y1, int i_x2, int i_y2, int i_x3, int i_y3, int i_x4, int i_y4, int i_out_w_pix, int i_out_h_pix)` PImageをラップしたラスタから画像を得ます。
`protected static void` | `PMatrix2GLProjection(PMatrix3D i_in, double[] o_out)`
`protected static void` | `PMatrix2GLProjection(PMatrix3D i_in, float[] o_out)`
`protected PVector` | `screen2MarkerCoordSystem(NyARDoubleMatrix44 i_mat, int i_x, int i_y)` この関数は、スクリーン座標i_x,i_yを、マーカ座標系に変換します。
`void` | `setARClipping(float i_near, float i_far)` この関数は、視錐台のクリップ面を設定します。
`void` | `setARPerspective()` この関数は、ARToolKit準拠のProjectionMatrixをProcessingにセットします。
`void` | `setBackgroundOrtho(int i_width, int i_height)` この関数は、正射影行列をProcessingへセットします。
`void` | `setPerspective(PMatrix3D i_projection)` この関数は、ProjectionMatrixをProcessingにセットします。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### FRUSTUM_DEFAULT_NEAR_CLIP

    public final float FRUSTUM_DEFAULT_NEAR_CLIP

  nearクリップ面のデフォルト値です。

  関連項目:
    定数フィールド値

### FRUSTUM_DEFAULT_FAR_CLIP

    public final float FRUSTUM_DEFAULT_FAR_CLIP

  farクリップ面のデフォルト値です。

  関連項目:
    定数フィールド値

### VERSION

    public static final String VERSION

  バージョン文字列です。 NyAR4psgのバージョン情報を示します。

  関連項目:
    定数フィールド値

### _ref_papplet

    protected PApplet _ref_papplet

  参照するAppletのインスタンスです。

### _ps_projection

    protected final PMatrix3D _ps_projection

  ProcessingスタイルのProjectionMatrixです。

### _ps_background_mv

    protected final PMatrix3D _ps_background_mv

  バックグラウンド用のModelviewMatrixです。

### _ar_param

    protected final NyARParam _ar_param

  ARToolkitパラメータのインスタンスです。

### _frustum

    protected final NyARFrustum _frustum

### _config

    protected NyAR4PsgConfig _config

### _src_raster

    protected PImageRaster _src_raster

  入力画像ラスタです。`PImage`をラップします。継承クラスで入力画像をセットします。

### _preader

    protected NyARPerspectiveRasterReader _preader

  画像抽出用のオブジェクトです。`_src_raster`を参照します。

コンストラクタの詳細

### NyARPsgBaseClass

    protected NyARPsgBaseClass()

  コンストラクタです。

メソッドの詳細

### initInstance

    protected void initInstance(PApplet parent,
                                String i_cparam_file,
                                int i_width,
                                int i_height,
                                NyAR4PsgConfig i_config)
                         throws NyARException

  例外:
    `NyARException`

### getProjectionMatrix

    public PMatrix3D getProjectionMatrix()

  この関数は、ProjectionMatrixを複製して返します。

  戻り値:
    ProjectionMatrixです。

### drawBackground

    public void drawBackground(PImage i_img)

  この関数は、PImageをバックグラウンドへ描画します。PImageはfarclip面+1の部分に描画します。
  この関数は、次のコードと等価です。

  :
  PMatrix3D om=new PMatrix3D(((PGraphics3D)g).projection);
  setBackgroundOrtho(img.width,img.height)
  pushMatrix();
  resetMatrix();
  translate(0,0,-(far*0.99f));
  image(img,-width/2,-height/2);
  popMatrix();
  setPerspective(om);
  :

  この関数は、PrjectionMatrixとModelViewMatrixを復帰するため、若干のオーバヘッドがあります。 高速な処理が必要な場合には、展開してください。

  パラメータ:
    `i_img` - 背景画像を指定します。

### setARClipping

    public void setARClipping(float i_near,
                              float i_far)

  この関数は、視錐台のクリップ面を設定します。この値のデフォルト値は、`FRUSTUM_DEFAULT_NEAR_CLIP`と`FRUSTUM_DEFAULT_FAR_CLIP`です。 設定値は、次回の`setARPerspective()`から影響を及ぼします。現在の設定値にただちに影響を及ぼすものではありません。

  パラメータ:
    `i_near` - NearPlaneの値を設定します。単位は[mm]です。
    `i_far` - FarPlaneの値を設定します。単位は[mm]です。

### setBackgroundOrtho

    public void setBackgroundOrtho(int i_width,
                                   int i_height)

  この関数は、正射影行列をProcessingへセットします。 画面の中心が0,0にセットされます。 nearクリップには、`setARClipping(float, float)`でセットしたクリップ面を指定します。 　farクリップには、`setARClipping(float, float)`でセットしたクリップ面+1を指定します。
  この関数は、次のコードと等価です。

  :
  ortho(-i_width/2, i_width/2,-i_height/2,i_height/2,near,far+1);
  :

  パラメータ:
    `i_width` - 幅を指定します。
    `i_height` - 高さを指定します。

### setARPerspective

    public void setARPerspective()

  この関数は、ARToolKit準拠のProjectionMatrixをProcessingにセットします。 関数を実行すると、ProcessingのProjectionMatrixがARToolKitのカメラパラメータのものに変わり、映像にマッチした描画ができるようになります。 ProcessingのデフォルトFrustumに戻すときは、`PGraphics3D#perspective()`を使います。 Frustumの有効期間は、次に`PGraphics3D#perspective()`か`PGraphics3D#perspective()`をコールするまでです。

  Version 1.1.0より、古いprojection matrixを返さなくなりました。古いprojection matrixが必要な時は、`PGraphics3D#projection`を複製して保存して下さい。

### setPerspective

    public void setPerspective(PMatrix3D i_projection)

  この関数は、ProjectionMatrixをProcessingにセットします。

  パラメータ:
    `i_projection` - 設定するProjectionMatrixを指定します。

    Processing/1.3になったら、`PApplet#matrixMode`使ってきちんと使えるようになると思う。 今は無理なので、frustum経由

    Version 1.1.0より、古いprojection matrixを返さなくなりました。古いprojection matrixが必要な時は、`PGraphics3D#projection`を複製して保存して下さい。

### PMatrix2GLProjection

    protected static void PMatrix2GLProjection(PMatrix3D i_in,
                                               float[] o_out)

### PMatrix2GLProjection

    protected static void PMatrix2GLProjection(PMatrix3D i_in,
                                               double[] o_out)

### matResult2GLArray

    protected static void matResult2GLArray(NyARTransMatResult i_src,
                                            double[] o_gl_array)

### matResult2PMatrix3D

    protected static void matResult2PMatrix3D(NyARDoubleMatrix44 i_src,
                                              int i_mode,
                                              PMatrix3D o_pmatrix)

  変換行列をProcessingのMatrixへ変換します。

  パラメータ:
    `i_src` -
    `i_mode` -
    `o_pmatrix` -

### screen2MarkerCoordSystem

    protected PVector screen2MarkerCoordSystem(NyARDoubleMatrix44 i_mat,
                                               int i_x,
                                               int i_y)

  この関数は、スクリーン座標i_x,i_yを、マーカ座標系に変換します。

  パラメータ:
    `i_mat` -
    `i_x` -
    `i_y` -
  戻り値:

### pickupMarkerImage

    protected PImage pickupMarkerImage(NyARDoubleMatrix44 i_mat,
                                       int i_x1,
                                       int i_y1,
                                       int i_x2,
                                       int i_y2,
                                       int i_x3,
                                       int i_y3,
                                       int i_x4,
                                       int i_y4,
                                       int i_out_w_pix,
                                       int i_out_h_pix)

  PImageをラップしたラスタから画像を得ます。

  パラメータ:
    `i_mat` -
    `i_x1` -
    `i_y1` -
    `i_x2` -
    `i_y2` -
    `i_x3` -
    `i_y3` -
    `i_x4` -
    `i_y4` -
    `i_out_w_pix` -
    `i_out_h_pix` -
  戻り値:

パッケージ | クラス | 使用 | 非推奨 API
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

NyAR4psgは、NyARToolkit projectで開発している、NyARToolKitのProcessingフロントエンドです。ソースコードは、sorceforge.jpNyARToolkitからダウンロードできます。
Copyright 2011 NyARToolkit project. All rights reserved.