AStar.Traveler

説明

A*移動者に関連するデータおよびメソッドが利用可能になります。

プロパティ

isActive 移動者がアクティブに移動タスクを実行しているなら1、そうでなければ0を返します。
isBlocked 移動者が、集積セル割り当てリクエストにより現在ブロックされているなら、1を返します。
object このA*移動者と関連付けられているTaskExecuterを返します。
travelPath 移動者の現在の移動パスを利用します。

メソッド

addAllocation 将来使用するためのものです。移動者のスケジュールされたセル割り当てに、集積割り当てを追加します。
arriveAtBridge 将来使用するためのものです。移動者が、移動パス内で特定のセルと関連付けられているブリッジ/エレベーターに到着したことをA*に通知し、コントロールをブリッジに渡します。
calculatePath 将来使用するためのものです。目的地へのA*パスを計算し、移動者のtravelPathプロパティに保存します。
findCollision 将来使用するためのものです。渡された割り当てと「衝突」する既存の割り当てを探します。
finishPath 将来使用するためのものです。移動者が移動を完了したことを、A*に通知します。
getAllocations 移動者が現在割り当てているか、特定の時間に割り当てるようスケジュールされているAStar.Allocationの配列を取得します。
navigatePath 将来使用するためのものです。移動者の計算されたパスに沿って、キネマティクスとセルの割り当てを構築するロジックを開始します。

コンストラクター

AStar.Traveler 指定したTaskExecuterに基づいて、AStar.Travelerオブジェクトを構築します。

詳細

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

AStar.Traveler.isActive

readonly int isActive

説明

移動者がアクティブに移動タスクを実行しているなら1、そうでなければ0を返します。

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

AStar.Traveler.isBlocked

readonly int isBlocked

説明

移動者が、集積セル割り当てリクエストにより現在ブロックされているなら、1を返します。

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

AStar.Traveler.object

readonly TaskExecuter object

説明

このA*移動者と関連付けられているTaskExecuterを返します。

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

AStar.Traveler.travelPath

readonly travelPath

説明

移動者の現在の移動パスを利用します。

移動者のtravelPathは、移動者が現在の目的地へ移動する際に横断するA*グリッドセルの現在のシーケンスを表します。travelPathは、「length」プロパティと配列アクセサーの使用を含めて配列タイプを使用することで利用できます。

for (int i = 1; i <= traveler.travelPath.length; i++) {
	AStar.Cell cell = traveler.travelPath[i].cell;
	...
}

travelPathの各要素には、横断するAStar.Cellが含まれます。

AStar.Cell cell = traveler.travelPath[1].cell;

また、travelPathにはindexOf()メソッドも含まれており、特定のグリッドセルに対応するインデックス(存在する場合)を検索します。

int index = traveler.travelPath.indexOf(cell);

travelPathには、isBlocked()メソッドも含まれています。これは、A*グリッドを動的に変更したとき、移動者をプリエンプトし、新しいグリッドの変更に基づいてパスを再計算するべきかを判定するために使用されます。

if (traveler.travelPath.isBlocked()) {
...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

AStar.Traveler.addAllocation()

addAllocation( AStar.Allocation alloc , int force , int notifyPendingAllocations )

パラメータ

alloc 追加するターゲット割り当て。
force 1を渡すと、他の割り当てとの衝突にかかわらず割り当てが強制的に追加されます。0を渡すと強制が行われません。
notifyPendingAllocation 1を渡すと、この割り当てと衝突する移動者は、衝突したときにOnBlockイベントを発生させます。

説明

将来使用するためのものです。移動者のスケジュールされたセル割り当てに、集積割り当てを追加します。

このメソッド呼び出しは、自分のA*割り当て/ナビゲーションスキーマを実装する高度なユーザー向けです。このメソッドは、OnCalculatePathなどの移動者イベントをリッスンしてデフォルトのパス計算/ナビゲーション機構をオーバーライドする場合のみ呼び出します。通常のユーザーの場合、このメソッドはnavigatePath()によって自動的に呼び出されます。

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

AStar.Traveler.arriveAtBridge()

arriveAtBridge( int pathIndex )

パラメータ

pathIndex ブリッジに関連付けられている移動パスのインデックス。

説明

将来使用するためのものです。移動者が、移動パス内で特定のセルと関連付けられているブリッジ/エレベーターに到着したことをA*に通知し、コントロールをブリッジに渡します。

このメソッド呼び出しは、自分のA*割り当て/ナビゲーションスキーマを実装する高度なユーザー向けです。このメソッドは、OnCalculatePathなどの移動者イベントをリッスンしてデフォルトのパス計算/ナビゲーション機構をオーバーライドする場合のみ呼び出します。

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

AStar.Traveler.calculatePath()

calculatePath( Object object , int flags = 0 )
calculatePath( Vec3 dest , int flags = 0 )

パラメータ

object ターゲットの目的地オブジェクト。
dest ターゲットの目的地モデルの場所。
flags 計算用の構成フラグ。

説明

将来使用するためのものです。目的地へのA*パスを計算し、移動者のtravelPathプロパティに保存します。

このメソッド呼び出しは、自分のA*割り当て/ナビゲーションスキーマを実装する高度なユーザー向けです。このメソッドは、OnCalculatePathなどの移動者イベントをリッスンしてデフォルトのパス計算/ナビゲーション機構をオーバーライドする場合のみ呼び出します。

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

AStar.Traveler.findCollision()

findCollision( AStar.Allocation alloc , int ignoreSameTravelerAllocs )

パラメータ

alloc 追加するターゲット割り当て。
ignoreSameTravelerAllocs 1なら、この移動者について割り当てを調べません。

説明

将来使用するためのものです。渡された割り当てと「衝突」する既存の割り当てを探します。

このメソッド呼び出しは、自分のA*割り当て/ナビゲーションスキーマを実装する高度なユーザー向けです。このメソッドは、OnCalculatePathなどの移動者イベントをリッスンしてデフォルトのパス計算/ナビゲーション機構をオーバーライドする場合のみ呼び出します。

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

AStar.Traveler.finishPath()

finishPath( )

説明

将来使用するためのものです。移動者が移動を完了したことを、A*に通知します。

このメソッド呼び出しは、自分のA*割り当て/ナビゲーションスキーマを実装する高度なユーザー向けです。このメソッドは、OnCalculatePathなどの移動者イベントをリッスンしてデフォルトのパス計算/ナビゲーション機構をオーバーライドする場合のみ呼び出します。

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

AStar.Traveler.getAllocations()

getAllocations( double time = -1 )

パラメータ

time 一連の割り当てを取得する対象となる時間です。

説明

移動者が現在割り当てているか、特定の時間に割り当てるようスケジュールされているAStar.Allocationの配列を取得します。

割り当ては、lengthプロパティと配列アクセサーの使用を含めて配列として利用できます。

var allocations = traveler.getAllocations();
for (int i = 1; i <= allocations.length; i++) {
	AStar.Cell cell = allocations[i].cell;
}

移動者の割り当ては移動者のtravelPathと相関関係にありますが、それぞれ異なるものです。移動者のパス上の各エントリは、関連付けられた割り当てを(特に、移動者が対角線方向に移動しているときに)最大3個設定できます。たとえば、移動者のtravelPathにセル(4, 4)からセル(5, 5)への走査を含む場合、移動者は対角線方向の移動の一部として、目的地セル(5, 5)に加えてセル(4, 5)および(5, 4)の割り当てを必要とします。

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

AStar.Traveler.navigatePath()

navigatePath( int startAtIndex )

パラメータ

startIndex 最初に移動するセルの移動パスインデックスで、ベースは1です。

説明

将来使用するためのものです。移動者の計算されたパスに沿って、キネマティクスとセルの割り当てを構築するロジックを開始します。

このメソッド呼び出しは、自分のA*割り当て/ナビゲーションスキーマを実装する高度なユーザー向けです。このメソッドは、OnCalculatePathなどの移動者イベントをリッスンしてデフォルトのパス計算/ナビゲーション機構をオーバーライドする場合のみ呼び出します。

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

AStar.Traveler Constructor

AStar.Traveler( treenode te )

パラメータ

te A*移動者としてA*ネットワークに接続されるTaskExecuter。

説明

指定したTaskExecuterに基づいて、AStar.Travelerオブジェクトを構築します。

ツリーノードからキャストするのは正しくありません。
AStar.Traveler traveler = AStar.Traveler(te); // correct
AStar.Traveler traveler = te; // incorrect