3章 CommonMPの要素モデルを作成する
3.5 計算結果を 他の要素モデルへ送る
3.5.3 送信パターンの設定
要素モデルが送信仕様を公開することで、CommonMPのGUI等から
他の要素モデルとの接続の設定を行える事は前に説明しました。
ところで、一つの要素モデルが複数の送信仕様を持つことが可能です。 例えば、河道モデルを考えた場合、下流端からの出力として、流量/水位を送信する送信仕様の他に、断面全ての水位・流量・流速等を送信する仕様等も考えられます。
CommonMPは、「送信仕様」を 「送信パターン」として定義し、それをCommonMPに登録します。
つまり 「送信パターン」とは、
@ セル内のデータの数は?
A セル内にはどのようなデータを乗せるか?
B セルはどのような型(1次元/2次元/3次元?)
を定義したものです。
CommonMPへ登録する送信パターンを作るのは Factoryクラスであり、要素モデルのプロパティ情報として設定します。
Factoryクラスの public
override McCellModelPropertyIF CreateModelProperty(HySID csLibraryID, HySObjectKind
csModelKind) メソッド内で 以下のような手順で 要素モデルのプロパティデータに送信パターンを設定します。
@モデルプロパティ情報に 送信パターンクラスを生成を依頼します。
A送信パターンクラスにセル情報の生成を依頼します。
Bセル情報を送信パターンに設定します。
C送信パターンクラスをモデルのプロパティ情報に追加します。
上図の送信パターンクラス(McTranInfoPattern)が パターン情報を格納するクラスで 「送信パターンID」、「データの型」、「送信パターン名称」、及び、「セル内に格納する情報」を持ちます。
送信パターン毎に 1個の送信パターンクラス(McTranInfoPattern)が生成され、 プロパティデータクラスに追加されます。
コーディングイメージと GUIの対応を下図に示します。
要素モデルはプロパティデータに設定した送信パターンに応じた送信処理を実装します。 次頁からそれらの実装方法を示します。
初版:2013/06/23 |