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

## jp.nyatla.nyar4psg
クラス NyARPsgBaseClass

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

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

    public abstract class NyARPsgBaseClass

extends Object

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

フィールドの概要
`protected NyAR4PsgConfig` | `_config` ARToolkitパラメータのインスタンスです。
`protected PMatrix3D` | `_ps_background_mv` バックグラウンド用のModelviewMatrixです。
`protected PApplet` | `_ref_papplet` 参照するAppletのインスタンスです。
`float` | `FRUSTUM_DEFAULT_FAR_CLIP` farクリップ面のデフォルト値です。
`float` | `FRUSTUM_DEFAULT_NEAR_CLIP` nearクリップ面のデフォルト値です。
`static String` | `VERSION` バージョン文字列です。

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

メソッドの概要
`void` | `drawBackground(PImage i_img)` この関数は、PImageをバックグラウンドへ描画します。
`abstract PMatrix3D` | `getProjectionMatrix()` [readonly]この関数は、Processing形式のProjectionMatrixの参照値を返します。
`abstract PMatrix3D` | `getProjectionMatrix(PMatrix3D i_buf)` この関数は、ProjectionMatrixをi_bufへ複製して返します。
`protected void` | `initInstance(PApplet parent, NyAR4PsgConfig i_config)`
`protected static void` | `matResult2GLArray(NyARDoubleMatrix44 i_src, double[] o_gl_array)`
`protected static void` | `matResult2PMatrix3D(NyARDoubleMatrix44 i_src, int i_mode, PMatrix3D o_pmatrix)` 変換行列をProcessingのMatrixへ変換します。
`protected static void` | `nyarMat2PsMat(NyARDoubleMatrix44 i_src, PMatrix3D i_dst)`
`protected static void` | `PMatrix2GLProjection(PMatrix3D i_in, double[] o_out)`
`protected static void` | `PMatrix2GLProjection(PMatrix3D i_in, float[] o_out)`
`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_background_mv

    protected final PMatrix3D _ps_background_mv

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

### _config

    protected NyAR4PsgConfig _config

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

コンストラクタの詳細

### NyARPsgBaseClass

    protected NyARPsgBaseClass()

  コンストラクタです。

メソッドの詳細

### initInstance

    protected void initInstance(PApplet parent,
                                NyAR4PsgConfig i_config)
                         throws NyARException

  例外:
    `NyARException`

### getProjectionMatrix

    public abstract PMatrix3D getProjectionMatrix()

  [readonly]この関数は、Processing形式のProjectionMatrixの参照値を返します。

  戻り値:

### getProjectionMatrix

    public abstract PMatrix3D getProjectionMatrix(PMatrix3D i_buf)

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

  戻り値:
    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を指定します。
  この関数は、次のコードと等価です。

  :
  //for 1.x
  ortho(-i_width/2, i_width/2,-i_height/2,i_height/2,near,far+1);
  //for 2.x
  ortho(0,i_width,0,i_height,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(int)`使ってきちんと使えるようになると思う。 今は無理なので、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)

### nyarMat2PsMat

    protected static void nyarMat2PsMat(NyARDoubleMatrix44 i_src,
                                        PMatrix3D i_dst)

### matResult2PMatrix3D

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

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

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

### matResult2GLArray

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

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

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