[前へ] [目次へ] [次へ]

MPDataAdapter (ネイティブクラス)


このクラスは汎用ルール処理の対象データを扱うクラスです。
このクラスは複数の型データを MPOperator クラスが扱うための形に整形します。
入出力でビット数が異なる場合、下位ビット側の共通部のみが反映されます。

汎用ルール処理は RuleProcessor クラスよりも低速ですが、多様な記述が可能となり、
FGESが実行速度上苦手とする、データ集合に対する一括処理の一つの解として実装されています。

このクラスで扱うデータは参照のみを保持しています。
ルールを適用する可能性がある間は関係するオブジェクト全てを維持しなければいけません。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   implements INativeMPValue
          (C++レベルキャスト)IFGESMPValue


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public設定メソッド SetInt処理対象データとして定数を設定します
public設定メソッド SetTileMap処理対象データとしてタイルマップを設定します
public設定メソッド SetBitmap処理対象データとしてビットマップ画像を設定します
public設定メソッド SetIntArray処理対象データとして整数配列を設定します
public設定メソッド SetBinary処理対象データとしてバイナリデータを設定します
public設定メソッド SetOperator処理対象データとして汎用ルール演算の結果を使用するよう設定します
public設定メソッド SetMethod処理対象データとしてメソッドの結果を使用するよう設定します
public設定メソッド SeOutputtTileMap書込対象オブジェクトとしてタイルマップを設定します
public設定メソッド SetOutputBitmap書込対象オブジェクトとしてビットマップ画像を設定します
public設定メソッド SetOutputIntArray書込対象オブジェクトとして整数配列を設定します
public設定メソッド SetOutputBinary書込対象オブジェクトとしてバイナリデータを設定します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_MPDATAADAPTER
クラス名: FGESMPDataAdapter



MPDataAdapter::SetInt

public Bool SetInt( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             INativeInteger value)


   処理対象データとして定数を設定します。
   定数を設定した場合、
   (0,0)〜(0x3FFF_FFFF,0x3FFF_FFFF)の範囲に指定値(64bit)が設定された二次元配列として扱います。
   
   この設定は読み取り専用です。
   この設定を行った状態で書込み処理を行っても失敗します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
INativeInteger value :要素データとして設定する定数。

先頭へ


MPDataAdapter::SetTileMap

public Bool SetTileMap( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             TileMapWindow tilemap, INativeInteger tile_layerid)


   処理対象データとしてタイルマップレイヤーを設定します。
   タイルマップレイヤーを設定した場合、
   指定したタイルマップレイヤーのタイルデータ(32bit)を二次元配列として扱います。

   この設定は読み取り専用です。
   この設定を行った状態で書込み処理を行っても失敗します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
TileMapWindow tilemap :要素データとして設定するタイルマップオブジェクト。
INativeInteger tile_layerid :要素データとして設定するタイルレイヤーID。

先頭へ


MPDataAdapter::SetBitmap

public Bool SetBitmap( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             INativeBitmap bitmap)


   処理対象データとしてビットマップ画像を設定します。
   ビットマップ画像を設定した場合、
   指定したビットマップ画像のピクセルデータ(ARGB32/32bit)を二次元配列として扱います。

   この設定は読み取り専用です。
   この設定を行った状態で書込み処理を行っても失敗します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
INativeBitmap bitmap :要素データとして設定するビットマップ画像。

先頭へ


MPDataAdapter::SetIntArray

public Bool SetIntArray( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             PIntArray intarray, INativeInteger ydist)


   処理対象データとして整数配列を設定します。
   整数配列を設定した場合、
   指定した整数配列を [y*ydist+x] でアクセスする二次元配列(64bit)として扱います。

   この設定は読み取り専用です。
   この設定を行った状態で書込み処理を行っても失敗します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
PIntArray intarray :要素データとして設定する整数配列オブジェクト。
INativeInteger ydist :Y軸を1進めるのに必要な要素数。

先頭へ


MPDataAdapter::SetBinary

public Bool SetBinary( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             Binary bin, INativeInteger ydist, INativeInteger fact_size)


   処理対象データとしてバイナリデータブロックを設定します。
   バイナリデータブロックを設定した場合、
   指定したバイナリデータブロックを [y*ydist+x] でアクセスする二次元配列として扱います。
   この時の要素サイズは fact_size に依存します。

   この設定は読み取り専用です。
   この設定を行った状態で書込み処理を行っても失敗します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
Binary bin :要素データとして設定するバイナリデータオブジェクト。
INativeInteger ydist :Y軸を1進めるのに必要な要素数。
INativeInteger fact_size :1要素のバイト数。1/2/4/8のいずれかでなければならない。

先頭へ


MPDataAdapter::SetOperator

public Bool SetOperator( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             MPOperator operator_obj)


   処理対象データとして汎用ルール演算の結果を使用するよう設定します。
   この設定を行ったオブジェクトからデータを読み取ると、設定している汎用ルール演算が評価されます。
   この時、現在の汎用ルール演算の構成内に設定している汎用ルール演算が既に含まれている場合例外が発生します。

   この設定は読み取り専用です。
   この設定を行った状態で書込み処理を行っても失敗します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
MPOperator operator_obj :結果として使用する汎用ルール演算。

先頭へ


MPDataAdapter::SetMethod

public Bool SetMethod( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             INativeClosure method_obj)


   処理対象データとしてメソッドの評価値を使用するよう設定します。
   この設定を行ったオブジェクトに対してデータを読み書きすると、設定しているメソッドが実行されます。
   
   指定するメソッドは以下の形で定義されていなければいけません。
   Bool( Integer x, Integer y,editable Integer value)
         戻り値:指定された座標に対応する評価値を返した場合は真を返します。
      
         Integer x :評価値を取得するX座標。
         Integer y :評価値を取得するY座標。
         editable Integer value :[出力]評価値を出力するオブジェクト。

   また、呼び出し時にホストオブジェクトは指定されません。
   ホストオブジェクトが必要な場合は BoundMethod を使用してください。
   
   
   ここで呼び出されるメソッドの実行時間には制限が掛けられており、
   時間が掛かりすぎると例外が発生するようになっています。
   処理に時間が掛かる場合は小分けにして実行するなど、制限時間に注意してください。
   
   このメソッドの実行中、さらに汎用ルール処理を実行することはできません。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
INativeClosure method_obj :評価値を設定するメソッド。

先頭へ


MPDataAdapter::SetOutputTileMap

public Bool SetOutputTileMap( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             editable TileMapWindow tilemap, INativeInteger tile_layerid)


   書込対象データとしてタイルマップレイヤーを設定します。
   タイルマップレイヤーを設定した場合、
   指定したタイルマップレイヤーのタイルデータ(32bit)を二次元配列として扱います。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
editable TileMapWindow tilemap :[入出力]要素データとして設定するタイルマップオブジェクト。
INativeInteger tile_layerid :要素データとして設定するタイルレイヤーID。

先頭へ


MPDataAdapter::SetOutputBitmap

public Bool SetOutputBitmap( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             editable Bitmap bitmap)


   書込対象データとしてビットマップ画像を設定します。
   ビットマップ画像を設定した場合、
   指定したビットマップ画像のピクセルデータ(ARGB32/32bit)を二次元配列として扱います。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
editable Bitmap bitmap :[入出力]要素データとして設定するビットマップ画像。

先頭へ


MPDataAdapter::SetOutputIntArray

public Bool SetOutputIntArray( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             editable PIntArray intarray, INativeInteger ydist)


   書込対象データとして整数配列を設定します。
   整数配列を設定した場合、
   指定した整数配列を [y*ydist+x] でアクセスする二次元配列(64bit)として扱います。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
editable PIntArray intarray :[入出力]要素データとして設定する整数配列オブジェクト。
INativeInteger ydist :Y軸を1進めるのに必要な要素数。

先頭へ


MPDataAdapter::SetOutputBinary

public Bool SetOutputBinary( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height,
             editable Binary bin, INativeInteger ydist, INativeInteger fact_size)


   書込対象データとしてバイナリデータブロックを設定します。
   バイナリデータブロックを設定した場合、
   指定したバイナリデータブロックを [y*ydist+x] でアクセスする二次元配列として扱います。
   この時の要素サイズは fact_size に依存します。

戻り値:設定に成功した場合、真を返します。

INativeInteger x :処理対象としてマッピングする左上X座標。
INativeInteger y :処理対象としてマッピングする左上Y座標。
INativeInteger width :処理対象としてマッピングする横幅。
INativeInteger height :処理対象としてマッピングする縦幅。
editable Binary bin :[入出力]要素データとして設定するバイナリデータオブジェクト。
INativeInteger ydist :Y軸を1進めるのに必要な要素数。
INativeInteger fact_size :1要素のバイト数。1/2/4/8のいずれかでなければならない。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2017/09/21