テスト インタフェースは、すべてのテスト クラスによって公開されます。
メソッド:
<void><PFlowTest>.proceedStep1 <IObject>container <object>particleSystem <node>particleSystemNode <node>actionNode <Interface>integrator
<IObject>container : 現在のパーティクル コンテナです。ハンドラ内部のインタフェース: MaxscriptParticleContainer を介して、 pCont.GetParticleContainer() を使用してアクセスできます。
<object>particleSystem : パーティクル ストリームを生成するパーティクル システムです。
異なるパーティクル システムから同じオペレータが呼び出されることもあります。パーティクルを生成するパーティクル システムによって結果が変動する場合、このパラメータによって使用する結果が定義されます。
<node>particleSystemNode : パーティクルを生成するパーティクル システムのノードです。
<node>actionNode : テスト アクションのノードです。
<Interface>integrator : 「慣性」の法則にしたがってパーティクルを進行させるオペレータです。このオペレータは、時間、加速度、速度、角度の加速、およびスピンのチャネルに基づいて、時間、速度、位置、スピン、方向のチャネルを更新します。各パーティクル システムには既定値の慣性オペレータが存在しています。アクションによってパーティクルの現在時間を更新する場合、「慣性」オペレータが使用されます。ActionList スタック内のアクションが「慣性」オペレータのインタフェースをサポートしている場合、そのアクションは、提示された「慣性」オペレータを独自のものに「切り替える」こともあります。パーティクル システムは、こうしたアクションを「慣性」インタフェースのホルダとして認識し、後で「慣性」に関する目的で使用します。パラメータが NULL の場合、パーティクル システムは、テストが時間チャネル内でパーティクルを進めることを許可しません。
<bool><PFlowTest>.proceedStep2 <time>timeStartTick <float>timeStartFraction <&time>timeEndTick <&float>timeEndFraction <&bitArray>testResult <&float array>testTime timeEndTick is In and Out parameter timeEndFraction is In and Out parameter testResult is In and Out parameter testTime is In and Out parameter
テストが正常に終了したら true を返します。
proceedStep1 と proceedStep2 がテスト条件を確認し、場合によってはパーティクルのチャネルを変更します。条件を満たすパーティクルは、慣性オペレータ integrator に従って、条件に合う時間へと進められます。
<time>timeStartTick : パーティクルがシミュレーションを開始する時間です。各パーティクルは、timeStart よりも大きい独自の有効な現在時間を持っています。この例では、テストで考慮する必要のあるのは、現在のパーティクルの時間と timeEnd パラメータです。
<float>timeStartFraction <&float>timeEndFraction: リアル TimeValue の実数部分です。
<&bitArray>testResult : テスト条件を満たすパーティクルを示すビット配列です。
<&float array>testTime : 条件を満たすパーティクルの場合は、パーティクルが条件を満たす時点の時間のリストです。タブには、コンテナ内のパーティクルと同じ数のエントリが存在します。エントリは、条件を満たすパーティクルに対してのみ設定されます。
サンプルの使用方法は「[スクリプト オペレータ](Script Operator)サンプル内の Speed オペレータ」を参照してください。
<node><PFlowTest>.getNextActionList <node>testNode <*bool>linkActive linkActive is In and Out parameter
指定された testNode の次のアクション リストを返します。これは原則的には、テストに対してワイヤの張られた ActionList (イベント) です。パーティクルはテスト条件を満すと、このアクション リストに指示を受けます。テストには異なる次イベントを持つ複数のインスタンスがあるので、この TestNode パラメータとして渡す必要があります。
例: |
ev1_a11.GetNextActionList ev1_a11 false |
例の詳細は、「VolumeDocking サンプル スクリプト」を参照してください。
<bool><PFlowTest>.setNextActionList <node>actionList <node>testNode
指定された testNode から指定の actionList ノードに、ワイヤを張ります。正常に終了した場合、 true を返します。実際の actionList でない場合、次の actionList ノードは拒否されます。
<bool><PFlowTest>.clearNextActionList <node>testNode
指定された testNode をアクション リストから切り離します。
<bool><PFlowTest>.setLinkActive <bool>linkActive <node>testNode
リンクのアクティブ状態を、指定された testNode の指定のブール値に設定します。正常に終了した場合は true を返します。
例: |
ev1_a11.setLinkActive true ev1_a11 |
例の詳細は、「VolumeDocking サンプル スクリプト」を参照してください。
このインタフェースは下記で使用できます。