SDM エンジンは、データからグラフィックスへのマッピングを制御します。
データからグラフィックスへのマッピングのプロセスには次の 4 つの重要な要素があります。
![データ・モデルとビューにレンダリングされるグラフィック表示の間の関係を示すダイアグラム。
IlvSDMModel クラスと IlvSDMRenderer クラスは、IlvSDMEngine の内部に描かれています。
IlvSDMModel はデータ・ソースからデータをロードします。次にこのデータは、IlvSDMRenderer によってロードされたスタイル・シートによって変換されます。
IlvSDMRenderer からの出力は IlvGrapher に渡されて、初回レンダリング・プロセスが完了します。ビューでグラフィックが編集されると、インタラクターが IlvSDMModel への情報を更新し、レンダリング・プロセスが再開します。](../../JViews_Diagrammer/usrextdiag/_media/diaext_dtogmapping4_default.png)
SDM のデータからグラフィックスへのマッピング
上の図に示すように、データ・モデルとグラフィック表示の間のマッピングは、双方向で行われます。
- データ・モデルからグラフィックへ: レンダリング・プロセスはスタイル・シートによって制御されます。このスタイル・シートによって、それぞれの特定のデータ・オブジェクトをグラファー でどのように表示させるかを SDM エンジンに伝えることができます。 レンダリング・プロセスは、専用レンダラーによって行われます。
- グラフィックからデータ・モデルへ: 編集 プロセスは、基礎となっているデータ・モデルに直接作用する組み込み編集機能に依存しています。 編集アプリケーションでのアクションは、インタラクターによって実装されます。次に例を示します。
- (例えば、エディターで) ユーザーがグラフィック・オブジェクトを移動させると、SDM エンジンがデータ・モデル内でオブジェクトの幾何学プロパティーを更新します。
- (例えば、ナビゲーション・アプリケーションで) ユーザーがノードを展開したり折りたたむと、SDM エンジンはデータ・モデル内のオブジェクトの展開/折りたたみ状況を更新します。
ダイアグラム・コンポーネントに関連付けられた SDM エンジンにアクセスするには、
getEngine メソッドを使用します。同様に、ダイアグラム・コンポーネントに関連付けられた SDM ビューにアクセスするには、
getView メソッドを使用します。以下のコード例は、これらのメソッドの使用を示しています。
SDM エンジンと SDM ビューの取得
IlvSDMEngine engine = diagrammer.getEngine(); IlvSDMView view = diagrammer.getView();
IlvDiagrammer クラスをまったく使用しない選択をすることも可能です。代わりに、SDM エンジン
( IlvSDMEngine インスタンス) と SDM ビュー ( IlvSDMView インスタンス) を自分で作成することができます。