アクション リストのインタフェースは、イベント クラスによって公開されます。
このインタフェースによって、アクションをイベントに対して追加および削除したり、リスト上でアクションのタイプをテストしたり、[パーティクル ビュー]でのイベントの外観を制御できます。
メソッド:
<integer><PF_Event>.numActions()
リスト内の値のアクションの数を返します。
<node><PF_Event>.getAction <index>index
リストからインデックスで指定されたアクションを返します。
<bool><PF_Event>.appendAction <node>action
指定したアクションをリストに追加して、成功したら true を返します。
例の詳細は、「VolumeDocking サンプル スクリプト」を参照してください。
<bool><PF_Event>.insertAction <node>action <index>index
指定したアクションをリスト内の、インデックス値で定義された位置に挿入します。正常に終了した場合、 true を戻します。
例の詳細は、「VolumeDocking サンプル スクリプト」を参照してください。
<bool><PF_Event>.removeAction <index>index
リストからインデックスで指定されたアクションを削除します。正常に終了した場合は true を戻します。
<bool><PF_Event>.hasAction <node>action <&index>index
index is In and Out parameter
指定したアクションがリスト上に存在する場合は、true を返します。true の場合、参照インデックス変数には、リスト上に存在するアクションの実際のインデックスが格納されます。
<bool><PF_Event>.isAction<node>action
指定されたノードがアクションである場合、true を返します。
<bool><PF_Event>.isOperator<node>action
指定されたノードがオペレータである場合、true を返します。
<bool><PF_Event>.isTest<node>action
指定されたノードがテストである場合、true を返します。
<bool><PF_Event>.isActivated()
アクティブであれば true を返します。
<void><PF_Event>.activate<bool>active
アクティブ パラメータによって指定されるブール値にアクティブな状態を設定します。
<integer><PF_Event>.isActionActive<index>index
インデックスで指定されたアクションがアクティブな場合は 1、そうでない場合は 0 を返します。
<void><PF_Event>.activateAction<index>index <integer>active
インデックスで指定されたアクションのアクティブ フラグを設定します。0 = 非アクティブ、1 = アクティブ
<void><PF_Event>.getPViewLocation<&integer>x <&integer>y
x is In and Out parameter
y is In and Out parameter
参照パラメータ内の[パーティクル ビュー]の x と y の場所を返します。
<void><PF_Event>.setPViewLocation<integer>x <integer>y
[パーティクル ビュー]の場所を、指定された整数値に設定します。
X と Y の範囲は 0 から 64000 までです。
<integer><PF_Event>.getPViewZOrder()
[パーティクル ビュー]の[Z 軸]を返します。
<void><PF_Event>.setPViewZOrder<integer>z order
[パーティクル ビュー]の[Z 軸]を設定します。範囲は 0 から 64000 までです。
<integer><PF_Event>.getListWidth()
リスト幅を返します。
<void>setListWidth<integer>width
リストの幅を設定します。範囲は 100 から 1000 ピクセルまでです。
<integer><PF_Event>.getPViewRightBoundary()
[パーティクル ビュー]の右側の境界を返します。
<bool><PF_Event>.isCollapsed()
アクション リストが集約されている場合、true を返します。
<void><PF_Event>.collapse()
アクション リストを集約します。
<void><PF_Event>.expand()
アクション リストを展開します。
<bool><PF_Event>.hasUpStream()
アクション リストにアップ ストリームのリストがある場合は true を返します。
例と結果
|
--[パーティクル ビュー]を開いて、結果を確認します。
ParticleFlow.openParticleView()
--空のイベントを作成します。
ev = Event()
$Event:Event 02 @ [0.000000,0.000000,0.000000]
--イベントが空の場合、アクション数を取得します。
ev.numActions()
0
--イベントの自動カプセル化を無効にします。
particleFlow.beginEdit()
OK
--新しい Find_Target アクションを作成します。
ft = find_target()
$Find_Target:Find Target 01 @ [0.000000,0.000000,0.000000]
--もう一度カプセル化を有効にします。
particleFlow.endEdit()
OK
--Find_Target をイベントに追加します。
ev.appendAction ft
true
--イベント内の最初のアクションを取得します。
ev.getAction 1
$Find_Target:Find Target 01 @ [0.000000,0.000000,0.000000]
--別のアクションを作成します。
particleFlow.beginEdit()
OK
--今度は Birth アクションです。
bt = birth()
$Birth:Birth 01 @ [0.000000,0.000000,0.000000]
particleFlow.endEdit()
OK
--Birth を最初の位置に挿入します。
ev.insertAction bt 1
true
--Find_Target の挿入を試みます。
--挿入できません。-すでにイベント内に存在しているからです。
ev.insertAction ft 1
false
--2 つ目のイベント (Find_Target) を削除します。
ev.removeAction 2
true
--参照に渡す変数を初期化します。
ind = 0
0
--Birth がイベント内に存在するかどうか確認します。-存在しています。
ev.hasAction bt &ind
true
--参照に渡す変数にはインデックスが付いています。
ind
1
--Find_Target もそこに存在しているかどうか確認します。
--もう存在していません。
ev.hasAction ft &ind
false
--Birth がアクションであるかどうか確認します。
ev.isAction bt
true
--Find_Target がアクションであるかどうか確認します。
ev.isAction ft
true
--Birth がオペレータであるかどうか確認します。
ev.isOperator bt
true
--Find_Target がオペレータであるかどうか確認します。
ev.isOperator ft
false
--Birth がテストであるかどうか確認します。
ev.isTest bt
false
--Find_Target がテストであるかどうか確認します。
ev.isTest ft
true
--イベントがアクティブであるかどうか確認します。
ev.isActivated()
true
--非アクティブにします。
ev.activate false
OK
--これで非アクティブになりました。
ev.isActivated()
false
--もう一度アクティブにします。
ev.activate true
OK
--アクティブになりました。
ev.isActivated()
true
--Birth アクションがアクティブであるかどうか確認します。
ev.isActionActive 1
1
--Birth アクションを非アクティブにします。
ev.activateAction 1 0
OK
--非アクティブになりましたか。
ev.isActionActive 1
0
--アクティブに戻します。
ev.activateAction 1 1
OK
--Birth がアクティブに戻りました。
ev.isActionActive 1
1
--参照に渡すいくつかの変数を初期化します。
x = y = 0
0
--[パーティクル ビュー]内のイベントの場所を取得します。
ev.getPViewLocation &x &y
OK
--これで、X に X 座標が格納されました。
x
27
--...また、Y にも Y 座標が格納されました。
y
14
--場所を 40,40 に変更します。
ev.setPViewLocation 40 40
OK
--もう一度位置を確認します。
ev.getPViewLocation &x &y
OK
x
40
y
40
--イベントの Z 軸を取得します。
ev.getPViewZOrder()
1
--Z 軸を 0 に下げます。
ev.setPViewZOrder 0
OK
--設定を確認します。
ev.getPViewZOrder()
0
--イベントの幅を取得します。
ev.getListWidth()
180
--幅を少し広げてみます。
ev.setListWidth 300
OK
--設定されました (パーティクル ビューで表示されます)。
ev.getPViewRightBoundary()
300
--幅を小さくします。
ev.setListWidth 100
OK
--右側の境界の場所を確認します。
ev.getPViewRightBoundary()
100
--イベントの集約状態を取得します。現在は常に false が返されます。
--将来使用される予定です。
ev.isCollapsed()
false
--注: まだ実装されていません。
ev.collapse()
OK
--注: まだ実装されていません。
ev.expand()
OK
--イベントにアップ ストリームがあるかないかを確認します。存在しません。
ev.hasUpStream()
false
|
このインタフェースは下記で使用できます。
Event: ヘルパー