Conveyor.Item
説明
コンベヤ上のアイテムの監視と制御で使用するプロパティおよびメソッドを利用可能にするクラスです。
Conveyor.Itemはアイテムオブジェクトと同じではありません。言い換えると、Conveyor.Itemをアイテム自体に設定することはできません。
Object item = param(2);
Conveyor.Item conveyorItem = item; // COMPILE ERROR
代わりに、Conveyor.Itemは、アイテムと同一ではなく、アイテムに関連付けられます。特定のコンベヤ上の特定のアイテムの運搬に関連付けられたデータが含まれています。そのため、コンベヤとアイテムの両方がConveyor.Itemにアクセスできる必要があります。
Conveyor.Itemへのアクセス権はConveyor.itemDataプロパティを使用して取得します。
Object item = param(2);
Conveyor conveyor = param(3);
Conveyor.Item conveyorItem = conveyor.itemData[item];
プロパティ
currentDistance | コンベヤ上のアイテムの現在の距離を取得します。 |
destination | アイテムの現在の目標目的地を取得/設定します。 |
entrySpace | アイテムの定義されたエントリスペースを取得します。 |
movingSpace | アイテムの定義された移動スペースを取得します。 |
object | このConveyor.Itemに関連付けられたオブジェクト(フローアイテム)を取得します。 |
orientation | コンベヤ上のアイテムの向きを取得/設定します。 |
position | コンベヤ上のアイテムの現在位置を取得します。 |
rotation | コンベヤ上のアイテムの現在のオフセット回転を取得します。 |
size | コンベヤ上のアイテムのサイズを取得します。 |
stoppingSpace | アイテムの定義された停止スペースを取得します。 |
timeKinematics | アイテムに関連付けられた時間ベースのキネマティクスノードへの参照を取得します。 |
totalDistance | コンベヤシステム内のアイテムの現在の合計移動距離を取得します。 |
travelKinematics | アイテムに関連付けられた移動ベースのキネマティクスノードへの参照を取得します。 |
メソッド
resume | コンベヤ上の停止したアイテムの移動を再開します。 |
stop | コンベヤ上のアイテムの移動を停止します。 |
turn | アイテムを指定された軸の周りに90°回転させ、アイテムの長さ、幅、高さ、および間隔値を再設定します。 |
詳細
Conveyor.Item.currentDistance
readonly double currentDistance
説明
コンベヤ上のアイテムの現在の距離を取得します。
オフセットキネマティクスが考慮されないことを除いて、position.xと同じです。
Conveyor.Item.destination
Object destination
説明
アイテムの現在の目標目的地を取得/設定します。
設定する場合は、決定点やフォトアイなどのコンベヤシステム上の1つのポイントに設定する必要があります。Conveyor.sendItem()も参照してください。
Conveyor.Item.orientation
int orientation
説明
コンベヤ上のアイテムの向きを取得/設定します。
この値を設定すると、アイテムの向きが設定され、アイテムの長さ、幅、高さ、および間隔値が再設定されます。orientatonパラメータによって、アイテムの24種類の向きのうちの1つが定義されます。これは、CONV_ITEM_M_BY_Nという形式のマクロです。ここで、Mはコンベヤに沿って前方を指しているアイテムの軸で、Nはコンベヤに沿って左を差している軸です。MはNと同じにしないでください。MとNは次のいずれかにすることができます。
X - アイテムの正のx軸
X_NEG - アイテムの負のx軸
Y - アイテムの正のy軸
Y_NEG - アイテムの負のy軸
Z - アイテムの正のz軸
Z_NEG - アイテムの負のz軸
例:
CONV_ITEM_X_BY_Y - デフォルトのアイテムの向きです。アイテムの正のx軸はコンベヤの前方軸と平行で、アイテムの正のy軸はコンベヤの左軸と平行です。コンベヤを下って行く人間を想像すると、この向きでは、彼はコンベヤの前方に顔を向けて立っています。
CONV_ITEM_Z_NEG_BY_Y - ここでは、アイテムの負のz軸がコンベヤの前方軸と平行で、アイテムの正のy軸がコンベヤの左軸と平行です。これが人間だった場合、彼は足を下に向けて仰向けの状態でコンベヤを下っています。CONV_ITEM_Y_NEG_BY_Z_NEG - ここでは、アイテムの正のx軸がコンベヤの前方軸と平行で、アイテムの負のz軸がコンベヤの左軸と平行です。これが人間だった場合、彼は右側を下に向けて仰向けの状態でコンベヤを下っています。
Conveyor.Item.position
readonly Vec3 position
説明
コンベヤ上のアイテムの現在位置を取得します。
アイテムの中心に関連付けられています。xはコンベヤの始まりからの距離、yはコンベヤの中心からの距離オフセット、xはコンベヤ平面からの垂直距離です。
timeKinematicsプロパティおよび/またはtravelKinematicsプロパティを使用してキネマティクスがアイテムに追加されている場合は、位置にそれらの適用されたキネマティクスが反映されます。
Conveyor.Item.rotation
readonly Vec3 rotation
説明
コンベヤ上のアイテムの現在のオフセット回転を取得します。
timeKinematicsプロパティおよび/またはtravelKinematicsプロパティを使用してアイテムにキネマティクスを適用している場合は、回転要素が0以外にしかなりません。
Conveyor.Item.size
readonly Vec3 size
説明
コンベヤ上のアイテムのサイズを取得します。
コンベヤ上のアイテムのサイズはその向きによって異なるため、アイテムオブジェクトのx、y、およびzサイズと直接一致しない場合があります。x要素はコンベヤの前方軸に沿ったアイテムのサイズに相当し、yはコンベヤの左軸に沿ったアイテムのサイズに相当し、zはコンベヤの上軸に沿ったアイテムのサイズに相当します。
Conveyor.Item.timeKinematics
readonly treenode timeKinematics
説明
アイテムに関連付けられた時間ベースのキネマティクスノードへの参照を取得します。
これは、シミュレーション時間に依存するアイテムのアニメーションとオフセットの定義に使用されます。ノードを取得してから、キネマティクスコマンドを使用して、時間ベースの移動をアイテムに追加します。キネマティクスベースのオフセットは、累積やフォトアイカバー/クリアポイントなどの標準の運搬ロジックには影響しないことに注意してください。コンベヤシステムはキネマティクスオフセットを視覚的にのみ適用します。つまり、累積やその他のコンベヤロジックを変なポイントで視覚的に実行したい場合を除いて、アイテムをx方向(コンベヤに沿って前方または後方)にオフセットしたくなることはありません。
Conveyor.Item.totalDistance
readonly double totalDistance
説明
コンベヤシステム内のアイテムの現在の合計移動距離を取得します。
通常は、travelKinematicsプロパティを使用してアイテムの移動ベースのキネマティクスにキネマティクスを追加する場合にしか使用されません。これは、キネマティクスに追加するための「開始時間」が合計移動距離に相当するためです。
Conveyor.Item.travelKinematics
readonly treenode travelKinematics
説明
アイテムに関連付けられた移動ベースのキネマティクスノードへの参照を取得します。
これは、コンベヤ距離に依存するアイテムのアニメーションとオフセットの定義に使用されます。ノードを取得してから、キネマティクスコマンドを使用して、移動ベースの移動をアイテムに追加します。このノードにキネマティクスを追加する場合は、開始時間、速度、および加速度をシミュレーション時間ではなく、「距離」の単位として定義する必要があります。開始時間は、アイテムのtotalDistanceに相対する必要があります。たとえば、「時間」10に開始して「速度」5で移動するキネマティクスを追加する場合、これは、アイテムが移動位置10に到達したときにキネマティクスが開始し、アイテムが移動する距離単位ごとにキネマティクスが5単位の距離を移動することを意味します。キネマティクスベースのオフセットは、累積やフォトアイカバー/クリアポイントなどの標準の運搬ロジックには影響しないことに注意してください。コンベヤシステムはキネマティクスオフセットを視覚的にのみ適用します。つまり、累積やその他のコンベヤロジックを変なポイントで視覚的に実行したい場合を除いて、アイテムをx方向(コンベヤに沿って前方または後方)にオフセットしたくなることはありません。
Conveyor.Item.resume()
void resume( int force = 0 ) |
パラメータ
force | 1の場合は、メソッドがstop()呼び出しの累積を無視して、直ちにアイテム移動を開始します。 |
説明
コンベヤ上の停止したアイテムの移動を再開します。
stop()と一対になっています。stop()の呼び出しは累積します。つまり、同じアイテムに対してstop()を2回呼び出した場合は、デフォルトで、resume()を2回呼び出さないと、アイテムが再開しません。
Conveyor.Item.stop()
void stop( ) |
説明
コンベヤ上のアイテムの移動を停止します。
resume()と一対になっています。stop()の呼び出しは累積します。つまり、同じアイテムに対してstop()を2回呼び出した場合は、デフォルトで、resume()を2回呼び出さないと、アイテムが再開しません。
Conveyor.Item.turn()
void turn( int axis , int clockwise ) |
パラメータ
axis | アイテムをオンにするコンベヤ軸。次のいずれかにすることができます。 CONV_AXIS_UP - コンベヤの上軸 CONV_AXIS_LEFT - コンベヤの左軸 CONV_AXIS_FORWARD - コンベヤの前方軸 |
clockwise | 1または0にする必要があります。アイテムを指定された軸の周りに時計回りに回転させるかどうかを定義します。 |
説明
アイテムを指定された軸の周りに90°回転させ、アイテムの長さ、幅、高さ、および間隔値を再設定します。
調整ロジックは、回転したときに他のアイテムと重ならないような十分なスペースがアイテムの周りにあることを前提とします。十分なスペースがない場合の動作は未定義です。