ツリーウィンドウはツリー内のノードを参照する際に便利です。ノードを選択する目的は状況によって変わります。このウィンドウで検索や置換操作の開始ノードを選択したり、[実験ツール]で実験変数を選択したりするために使うこともあります。さらに、[グローバル変数]ウィンドウでオブジェクトやノードを選択することもできます。ツリー表示で目的のノードをクリックして選択し、[選択]ボタンをクリックすると、ウィンドウが閉じて呼び出し元のウィンドウに戻ります。
FlexSimはすべてツリー構造という概念で設計されています。ライブラリオブジェクト、コマンド、全モデル情報といったFlexSimのあらゆる情報がFlexSimツリーに入っています。このツリー階層は、互いにリンクして情報を保持する個別のノードで構成されています。
ノードは、FlexSimツリーの基礎的要素です。どのノードにもノード名が入ったテキストがあります。ノードは、単に他のノードのコンテナになることや、オブジェクトの属性を定義するキーワードになること、またデータアイテムを持つこともあります。
ノードにアタッチできるデータアイテムのタイプは、数字、文字列、オブジェクト、またはポインターです。ノードにデータをアタッチするには、ノードを右クリックし、[挿入]メニューオプションを選択します。ノードにデータを追加する4つのオプションが表示されます。数字、文字列(テキスト)、オブジェクト、またはポインターのデータを追加するショートカットキーもあり、N、T、O、Pがそのようなショートカットキーにあたります。ショートカットキーを使用してノードにデータを追加するには、ノードをクリックして該当するキーを押します。ノードは実行可能なコードを保持することもできます。ノードを実行可能にするには、最初に文字列データをノードに追加してから、そのノードをC ++またはFlexScriptノードに切り替える必要があります。ノードをこれらのいずれかのタイプに切り替えるには、ノードを右クリックして[ビルド]メニューに移動します。
以下は、各タイプのノードを表す記号です。
アイコン | 説明 |
---|---|
![]() |
標準 |
![]() |
オブジェクト |
![]() |
属性/変数 |
![]() |
関数(FlexScript) |
![]() |
関数(構築されていないFlexScript) |
![]() |
関数(C++) |
![]() |
DLLにリンクされた関数 |
![]() |
グローバルなC ++の関数 |
![]() |
シンプルデータ |
ノードはツリーに追加およびツリーから削除できます。ノードを削除するには、ノードをクリックして削除キーを押します。ノードを挿入するには、既存のノードを右クリックし、[編集] 、[挿入]の順に選択します。これでクリックしたノードの直後に新しいノードが追加されます。最初にノードを強調表示してからスペースキーを押すと、操作のショートカットになります。
ノードにコンテンツブランチというノードのサブリストを入れることもできます。ノードにサブノードが格納されている場合は、 ボタンを押してそのノードを拡張できます。ノードを既存のノードのコンテンツに挿入するには、[編集]、[挿入]の順にオプションを選択します(または、ショートカットとしてEnterキーを押します)。
オブジェクトデータを有するノードには、ツリーから分岐したブランチに格納されたノードのセカンドサブリストを入れることもできます。このサブリストは、オブジェクト属性ツリーという、オブジェクトのプロパティを記述するデータを格納します。オブジェクトデータを格納するノードは、一般的にオブジェクトノードと呼ばれます。オブジェクトノードをクリックすると、ノードの左に大なり記号が 表示されます。このボタンをクリックすると、オブジェクト属性ツリーのブランチが開きます。
次の図は、ライブラリツリーの[Queue]オブジェクトの、拡張されたオブジェクト属性ツリーを示しています。
オブジェクトデータを有するノードの場合、属性ツリーに多くの特殊な属性ノードを格納できます。ノードがオブジェクト内にあり、キー属性の名前がある場合、ノードはオブジェクトに対して特別な意味を持ちます。属性の実際の意味は、属性とオブジェクトのタイプによって異なります。たとえば、オブジェクトの位置の属性には[spatialx]、[spatialy]、[spatialz]があります。FlexSimで利用可能な属性のリストは、属性のヒントに表示されます。
FlexSimツリーは、モデル、ライブラリ、プロジェクトに関する全情報を格納するほか、あらゆるウィンドウ情報とインターフェイス情報も格納しています。開いているウィンドウ、メニュー、ツールバー、ボタンにはすべて、FlexSimツリーに対応する表現があります。このようなタイプのノードをビューオブジェクトといいます。
FlexSimのルートツリー構造は[メインツリー]と[ビューツリー]の、2つの部分に分割されています。
メインツリーには、[実行]データ、[ライブラリ]、[モデル]が格納されています。
ビューツリーには、ウィンドウ、エディタ、その他のユーザーインターフェイスに関する情報が格納されています。また、アクティブなウィンドウも管理します。
メインツリーを表示するには、メインツールバーの[ツリー]ボタンをクリックすると新しいツリーウィンドウが表示されます。[クイックプロパティ]で、[ツリーナビゲーション]セクションが表示され[メイン]をクリックします。
メインツリーには、FlexSimの高レベルな機能が多数保持されています。また、[Exec]、[ライブラリ]、[モデル]、[元に戻す]、[メディア]という重要なサブツリーが格納されています。
ビューツリーを表示するには、メインツールバーの[ツリー]ボタンをクリックすると新しいツリーウィンドウが表示されます。[クイックプロパティ]ウィンドウで、[ツリーナビゲーション]セクションが表示されます。[ビュー]をクリックします。
ビューツリーには、オブジェクトのグラフィカルユーザーインターフェイスを作成、保存、使用するデータが格納されています。
次の表で、ツリーで利用可能なキーボードショートカットについて説明します。
ショートカット | 説明 |
---|---|
スペースキー | 新しいノードを後に挿入します。 |
Enter | 中に新しいノードを挿入します。 |
N | 強調表示されたノードに数値データを追加します。 |
T | 強調表示されたノードに文字列(テキスト)データを追加します。 |
O | 強調表示されたノードにオブジェクトデータを追加します。 |
P | 強調表示されたノードにポインターデータを追加します。 |
Shift + Delete | 強調表示されたノードからすべてのデータを削除します。 |
BackspaceとDelete | ノードを削除します。 |
[検索]で、ツリーのテキストとノード名を検索できます。[検索]は、アクティブなツリーウィンドウの強調表示されたノードから開始します。ノードが強調表示されていない場合、アクティブなツリーウィンドウの上から検索を開始します。[検索]は、すべてのサブノードとオブジェクト属性ノードを再帰的に検索します。
[置換]で、検索されたテキストがすべて置換されます。この機能はテキストやノード名に使用できます。
指定されたテキストを検索します(またはフィールドでEnterキーを押します)。
上のテキストを検索し、指定されたテキストに置換します(またはフィールドでEnterキーを押します)。
選択したノードの全テキストを検索します。
このチェックボックスをオンにすると、テキストの単語に完全一致するもののみを検索します(検索テキストの直前と直後の文字をアルファベット以外の文字にする必要があります)。
選択したノードの全ノード名を検索します。
このチェックボックスをオフにすると、検索するテキストを含むすべてのノード名を返します。
このチェックボックスをオフにすると、大文字と小文字を区別せずに検索テキストを含むすべてのテキストや名前を検索します。たとえば、「myvariablename」と検索すると、結果は「MyVariableName」も含め、すべてのノードを返します。
検索を開始すると、[検索結果]ウィンドウが表示されます。
[コードエディタ]ウィンドウでテキストを表示するには、検索結果をダブルクリックします。検索結果を右クリックしてコードを編集したり、ツリーを探索したりすることもできます。
FlexScriptに切り替わったノードは、ノードパスの左側に[S]と表示されます。C++に切り替わったノードは[C]と表示され、リンクされたDLLに切り替わったノードは[D]と表示されます。
ツリーでノードが強調表示されると、[ノードプロパティパネル]が表示され、ノードのランクが表示されます。
強調表示されたノードの親ツリーでのランクを指定します。新しいランク番号を入力するか、上向き矢印または下向き矢印を使用してノードのランクを修正します。
ノードに結合データがある場合、[データ]フィールドには結合の関連ノードが表示されます。[サンプラー]ボタン を使用して、結合を作成するノードを選択します。
強調表示されたノードのサブノードをすべて破棄します。
ノードでnodefunctionまたはexecutefsnodeを呼び出し、関連するFlexScript、C ++またはDLLコードを実行します。