AStar.Navigator

説明

モデルのA*ナビゲータに関連するデータおよびメソッドが利用可能になります。

プロパティ

travelers A*ネットワークのメンバーである移動者のセットを参照します。

メソッド

addDynamicBarrier ナビゲーターのA*グリッドネットワークに動的なバリアを追加します。
getCell 特定のモデルの場所と関連付けられたセルを取得します。
getLocation 特定のAStar.Cellと関連付けられたモデルの場所を取得します。
removeDynamicBarrier addDynamicBarrier()により追加された動的なバリアを削除します。

詳細

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AStar.Navigator.travelers

readonly travelers

説明

A*ネットワークのメンバーである移動者のセットを参照します。

このプロパティは、グリッド変更などが起きたとき、ナビゲーターの移動者のそれぞれを訪問できるようにするため用意されています。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AStar.Navigator.addDynamicBarrier()

Variant addDynamicBarrier( Variant val , int skipOnChange = 0 )
treenode addDynamicBarrier( Vec3 location , Vec3 size , Vec3 rotation , int skipOnChange = 0 )

パラメータ

val 追加するバリアを含む値。この値はオブジェクトへの参照、オブジェクトへの参照の配列、またはメンバーの3x3配列です。オブジェクトの場合、動的なバリアとしてオブジェクトを追加します。オブジェクトの配列の場合、配列の各オブジェクトをバリアとして追加します。3x3の数字の配列なら、配列から3つのVec3を構築し、Vec3ベースのオーバーロードに転送します。
location 追加するバリアの位置。
size 追加するバリアのサイズ。
rotation 追加するバリアの回転角。
skipOnChange オプション。1なら、ナビゲーターのOnGridChangeイベントへの呼び出しはスキップされます。

説明

ナビゲーターのA*グリッドネットワークに動的なバリアを追加します。

このメソッドにより、シミュレーションの実行時にA*パスの計算メカニズムを動的に変更できます。この方法は、標準のバリアの条件付きルールと比べて、動的に作成されたバリアや、シミュレーション中に移動するバリアの追加や削除を行える柔軟性があります。このメソッドを呼び出すと、オブジェクトの現在の位置をバリアとしてナビゲーショングリッドに統合できます。

このメソッドを呼び出すと、パスの計算アルゴリズムにのみ影響を及ぼします。パス上でアクティブに移動しているオブジェクトのパスには影響しません。バリアの追加後にパスの再計算を行うには、プリエンプトを行って移動オペレーションを再起動させる必要があります。アクティブな移動者のパスが動的なバリアによってブロックされたかどうかは、AStar.Traveler(object).travelPath.isBlocked()を呼び出して照会できます。

戻り値は、追加された動的なバリアを表すツリーノードへの参照です。このメソッドにオブジェクト参照の配列を渡すと、ツリーノードの配列が返されます。バリアが破棄または移動された後で、removeDynamicBarrier()を呼び出し、このメソッドから返された値を渡して、削除してください。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AStar.Navigator.getCell()

AStar.Cell getCell( Vec3 modelLoc )

パラメータ

modelLoc 対象となるモデルの場所。

説明

特定のモデルの場所と関連付けられたセルを取得します。

AStar.Cell cell = AStar.navigator.getCell(Vec3(10, 3, 0));
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AStar.Navigator.getLocation()

Vec3 getLocation( AStar.Cell cell )

パラメータ

cell 対象となるセル。

説明

特定のAStar.Cellと関連付けられたモデルの場所を取得します。

Vec3 loc = AStar.navigator.getLocation(traveler.travelPath[1].cell);
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AStar.Navigator.removeDynamicBarrier()

removeDynamicBarrier( Variant barrier )

パラメータ

barrier addDynamicBarrier()への呼び出しから返された値。

説明

addDynamicBarrier()により追加された動的なバリアを削除します。