org.simBio.sim.analyzer
クラス VisualizeAnalyzer

java.lang.Object
  上位を拡張 org.simBio.core.Component
      上位を拡張 org.simBio.core.Parameter
          上位を拡張 org.simBio.core.Composite
              上位を拡張 org.simBio.core.Analyzer
                  上位を拡張 org.simBio.sim.analyzer.VisualizeAnalyzer
すべての実装されたインタフェース:
Node
直系の既知のサブクラス:
AbstractGraph, Axis, Viewer

public abstract class VisualizeAnalyzer
extends Analyzer

base class for visualized Node(Viewer, Graph, Axis).
表示系のNode(Viewer, Graph, Axis)のベースとなるクラスです。
下記のような機能を実装します。

  1. 画面の再描画をサポートする機能
  2. 色やフォントなど、見栄えを表すパラメータを取得する機能
  3. 特殊なNodeの値を取得する機能

作成者:
misaki

フィールドの概要
 
クラス org.simBio.core.Parameter から継承されたフィールド
value
 
コンストラクタの概要
VisualizeAnalyzer()
           
 
メソッドの概要
protected abstract  void analyze(double t)
          Please implements this Method to manipulate Nodes.
protected  void doRepaint()
          再描画を行う.
protected  java.awt.Color getColorParameter(java.lang.String nodeName, java.awt.Color defaultColor)
          Node名を指定して、Colorを取得します.
protected  double getDouble(Node node)
          get value from node. if node is null, return 0.0
protected  java.awt.Font getFontParameter(java.lang.String nodeNamePrefix, java.lang.String defaultStyle, java.lang.String defaultSize)
          nodeNamePrefixを指定して、Fontを取得します.
protected  Node getNodeHierarchically(java.lang.String name)
          serch the Node of the same name(or upper level node). if the Node is Link, follow the Link.
 Node getNodeRecursive(java.lang.String name)
          serch the Node of the same name. if the Node is Link, follow the Link.
protected  void prepareRepaint()
          再描画を準備する.
 void repaint()
          再描画パラメータの取り込みと、再描画を行う.
 void resetBuffer()
          画面状態をリセットする.
 
クラス org.simBio.core.Composite から継承されたメソッド
accept, getLink, getNode, getNodesIterator, getNodesSize
 
クラス org.simBio.core.Parameter から継承されたメソッド
addValue, getValue, getValueString, prepare, setInitializer, setValue, setValueString, setValueToField
 
クラス org.simBio.core.Component から継承されたメソッド
addDydt, end, getIndent, getIndentedShortName, getName, getName, getParent, getRoot, getShortName, getUnits, isNamed, isPrefixed, logIndented, quit, setLinks
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.simBio.core.Node から継承されたメソッド
addDydt, addValue, getValue, setValue
 

コンストラクタの詳細

VisualizeAnalyzer

public VisualizeAnalyzer()
メソッドの詳細

analyze

protected abstract void analyze(double t)
クラス Analyzer の記述:
Please implements this Method to manipulate Nodes. This Method is called every time step from Conductor.

定義:
クラス Analyzer 内の analyze
パラメータ:
t - time
関連項目:
Conductor.integrate()

resetBuffer

public void resetBuffer()
画面状態をリセットする. 新しいmodelをロードしたり(setLinks())、 時刻を変更した後に計算処理を行ったり(org.simBio.sim.gui.GUI#getJMenuModel()) した際に、呼び出され、描画再描画用のバッファなど、各Nodeで持っている内部状態を リセットします。
下位のnodeを持つ場合については、明示的に呼び出してやるように、super() を 呼ぶようにしてください。


repaint

public void repaint()
再描画パラメータの取り込みと、再描画を行う. 表示位置、フォントサイズ等の画面パラメータが変更された際や、 計算終了時等の、画面の再描画を行う際に呼ばれます。
  1. 表示のTopになるViewerでは、Node間の関連があるために、下記の処理が行われます。
    1. 画面パラメータを取り込むために、 配下の全Node の prepareRepaint()が呼ばれます。
    2. 再描画を行うために、配下の全Node の doRepaint() が呼ばれます。
  2. 下位のNodeであるGraph, Axisでは、上位のNode(Viewer)に処理を任せます。


prepareRepaint

protected void prepareRepaint()
再描画を準備する. 指定したNodeおよび配下のNodeについて、再描画の準備を行います。 GUIからグラフ領域を更新する際、必ず、doRepaint() メソッドの前に呼び出すこと。
クラス実装上の扱い


doRepaint

protected void doRepaint()
再描画を行う. 指定したNodeおよび配下のNodeについて、再描画を行います。 GUIからグラフ領域を更新する際、prepareRepaint() メソッドの後に呼び出すこと。
クラス実装上の扱い


getNodeRecursive

public Node getNodeRecursive(java.lang.String name)
serch the Node of the same name. if the Node is Link, follow the Link.
受け取った文字列と同じ名前の、最初に見つかったNodeを返しますが、 見つかったNodeがLinkの場合は、Link先のNodeを返します。
getNode() との違いは、Link先のNodeを再帰的に検索することです。 (AxisX.min, AxisX.max の処理で使用します。)

パラメータ:
name - 名前を指定
戻り値:
指定された名前のNode, 見つからないときはnullを返します。

getNodeHierarchically

protected Node getNodeHierarchically(java.lang.String name)
serch the Node of the same name(or upper level node). if the Node is Link, follow the Link.
受け取った文字列と同じ名前の、上位Nodeを含めて最初に見つかったNodeを返します。 見つかったNodeがLinkの場合は、Link先のNodeを返します。
getNodeRecursive() との違いは、現在の階層にパラメータが無ければ、 上位階層に遡って検索を行うことです。 これにより、タイトルサイズ、フォントサイズ等、見栄えを表すパラメータについて、 Viewer や Graph 単位で、配下のパラメータを一括指定出来ます。 (色・フォント指定にて使用します。)

パラメータ:
name - 名前を指定
戻り値:
指定された名前のNode, 見つからないときはnullを返します。

getDouble

protected double getDouble(Node node)
get value from node. if node is null, return 0.0


getColorParameter

protected java.awt.Color getColorParameter(java.lang.String nodeName,
                                           java.awt.Color defaultColor)
Node名を指定して、Colorを取得します. propertyNameで指定されるNodeから、Colorオブジェクトを取得する。 現在の階層に無い場合は、再帰的に親階層のNodeを検索するが、無ければdefaultColorを返却する。

パラメータ:
nodeName - 色情報を取得するノード名
defaultColor - 色情報が見つからない場合に適用するColorオブジェクト
戻り値:
取得したColor

getFontParameter

protected java.awt.Font getFontParameter(java.lang.String nodeNamePrefix,
                                         java.lang.String defaultStyle,
                                         java.lang.String defaultSize)
nodeNamePrefixを指定して、Fontを取得します. 与えられたnodePrefixNameを元に、下記のようにnodenameを合成し、Fontオブジェクトを取得する。 現在の階層に無い場合は、再帰的に親階層のNodeを検索するが、無ければdefaultStyle, defaultSizeを元にFontを作成する。 今のところ、font familyは、"dialog" 固定としている。

パラメータ:
nodeNamePrefix - フォント情報を取得するノード名(プレフィックス)
defaultStyle - スタイルが見つからない場合に適用するスタイル
defaultSize - サイズが見つからない場合に適用するサイズ(小数点以下は無視する)
戻り値:
取得したフォント


???(C) 2002-2007 ?????????????????????