TreeNode

説明

注:このSDK内の他のほとんどのドキュメントとは異なり、このドキュメントは純粋に教育を目的としてします。TreeNodeをサブクラス化したり、そのメンバーにアクセスしたりしないでください。代わりに、FlexSimで使用可能な標準のコマンドを使用して、FlexSimのツリーを操作または走査する必要があります。

TreeNodeクラスは、FlexSimのツリー構造の背骨を構成する構造体です。treenode(すべて小文字)タイプは、TreeNode*として定義(typedefを使用して)されるため、次の行は等価です。

		TreeNode* someNode;
		treenode someNode;
		

TreeNodeクラスの極端に簡略化したバージョンを以下に示します。

グラフィックスを表示できませんでした

構造体

TreeNodeオブジェクトには、他のTreeNodeへのいくつかのポインターが含まれています。以下に例を示します。

  • ノードの「リストヘッド」または「オーナー」へのポインター。Flexsimツリービューでは、リストヘッドが表示されません。これらは、ノードのサブツリーで「0番目」にランクされたオブジェクトになります。
  • ノードにサブノードがある場合の「分岐」ノードへのポインター。分岐ノードは、ノードのサブツリーのリストヘッド(0番目にランク)ノードです。
  • 「親」ノードへのポインター。これは、指定されたノードの「上の」ノードを指します。
  • 「所有済み」ノードの配列を表すtreenodeの配列へのポインター。リストヘッドの配列メンバーが配列の0番目のインデックスを指し、次のノードが1番目のインデックスを指し、以下同様です。

3つのサブノードがあるノードの図例を以下に示します

グラフィックスを表示できませんでした

データ

TreeNodeオブジェクトには、以下のタイプのいずれかを指すことが可能なデータを意味するvoid*も含まれています。

データタイプ関連するマクロ
数字DATA_FLOAT
文字列DATA_BYTEBLOCK
結合DATA_POINTERCOUPLING
オブジェクトDATA_OBJECT
バンドルDATA_BUNDLE
シンプルDATA_SIMPLE

数値データを指しているTreeNodeの例を以下に示します。ただし、この例内の数値は、上記タイプのいずれかで置き換えることができます。

グラフィックスを表示できませんでした