Persistents 構造体

Persistents 構造体は、永続グローバル変数の収集、作成、テストに使用するメソッドを提供します。

メソッド:

persistents.show [ to:<stream> ]

存続グローバル変数とその値のリストを表示します。

オプションの <stream> 引数には、メソッドが出力を送信する場合の宛先となる filestreamstringstream、または windowstream を使用できます。3ds Max 2019 以降で使用可能です。

persistents.remove <var_name>

指定した存続グローバル変数を存続グローバルのプールから削除します。変数はグローバル変数のまま残り、値を維持します。

persistents.removeAll()

すべての存続グローバル変数を存続グローバルのプールから削除します。変数はグローバル変数のまま残り、値を維持します。

スクリプト:

    a= "Hello world"
    persistent global a
    persistent global b=box()
    persistents.show()
    persistents.remove #a
    persistents.removeall()
    a
    b

スクリプト:

    "Hello world"
    OK
    $Box:Box002 @ [0.000000,0.000000,0.000000]
    a: "Hello world"
    b: $Box:Box002 @ [0.000000,0.000000,0.000000]
    OK
    OK
    OK
    "Hello world"
    $Box:Box002 @ [0.000000,0.000000,0.000000]
persistents.gather()     

このメソッドは、すべての永続グローバル変数名の配列を<name>値として返します。

3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。

persistents.make <global var name>   

指定する名前はグローバル変数の名前でなくてはなりません。

グローバル変数名以外を指定した場合は、ランタイム エラーが生成されます。詳細は、「globalVars 構造体」 を参照してください。

3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。

persistents.isPersistent <global var name>

指定されたグローバル変数名が永続である場合は true を返し、永続でない場合は false を返します。

3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。

    global aVar  --define a global variable
    --> OK  --done!
    persistents.isPersistent #aVar --is it persistent?
    --> false  --it is not!
    persistents.make #aVar --make the existing global persistent
    --> OK  --done!
    persistents.isPersistent #aVar --see if it is persistent now
    --> true  --now it is!
    persistent global aNewPV --declare a variable as persistent global
    --> undefined  --done, variable has a value of undefined
    persistents.isPersistent #aNewPV --then see if it is persistent
    --> true  --it is!
    persistents.isPersistent #anUndeclaredVar --check an undeclared var.
    --> false  --it is not persistent