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の例を以下に示します。ただし、この例内の数値は、上記タイプのいずれかで置き換えることができます。