ビットマップ ファイル

次のメソッドは、シーンで使われるビットマップ ファイルのリストを収集します。

ビットマップ値に関連付けられている、ビットマップ ファイルの読み込みと書き込みを含むプロパティとメソッドについては、「ビットマップ値」を参照してください。

   

enumerateFiles [ <maxwrapper_obj> ] <function> [ <arg> ] \
 [ 		#inactive ] [ 		#videoPost ] [ 		#render ] [ 		#missing] \
 [ 		#localOnly ] [ 		#skipCustAttributes ] [ 		#skipVPRender ] \
 [ 		#firstSubOnly ] 	 

シーンまたは個別のオブジェクトで使用するすべてのビットマップ ファイルに目を通すことができます。ビデオポスト、レンダラー、または非アクティブか足りないものをフィルタすることができます。

エニュメレータは、各ファイル名に 1 度だけ与えられる関数を呼び出すことによって作動し、フィルタに対応するスイッチ、または設定した他の引数を検索します。

必要な引数は <function> 引数です。

詳細は以下のとおりです。

<maxwrapper_obj>

ノードまたはマテリアルなどの、オプションの 3ds Max オブジェクトです。この引数を与えると、エニュメレータはこのオブジェクトに関連するファイルだけを考慮します。詳細については、 #localOnly スイッチを参照してください。

<function> 

検索される各ファイルを呼び出す関数です。この関数の引数は 1 つまたは 2 つでなければなりません。最初の引数は、エニュメレータによって提供されるファイル名の文字列です。下の例を参照してください。

<arg> 

指定すると、エニュメレータの第 2 引数として <function> へ渡されます。特定のエニュメレータで引き渡す引数によって条件付けることができる汎用のエニュメレータ関数がある場合、または検索した名前を追加する配列に引き渡したい場合に有効です。

#inactive 

非アクティブ ファイルを含みます。

#videoPost 

ビデオポストで使用されるファイルを含みます。

#render 

レンダリング中に使用されるファイルを含みます。

#missing 

ファイル システムに足りないファイルを含みます。

上記のフィルタ フラグを指定しない場合、すべて のファイルが列挙されます。

#localOnly 

<maxwrapper_obj> 引数とともに使用します。指定すると、列挙されるファイルがオブジェクト内で直接使われるファイルに制限されます。指定しないと、参照オブジェクトがすべてスキャンされて列挙されます。

#skipCustAttributes 

カスタム アトリビュートは列挙しません。

#skipVPRender 

ビューポート レンダリングだけに必要なファイルは除きます。

#firstSubOnly 

.ifl の最初のファイルだけをチェックします。

例:

function get_names name a = append a name
files = #()
enumerateFiles get_names files #missing

次のスクリプトは、現在のシーン ファイルで使われているすべてのビットマップ ファイルをソートしたリストを出力します。

例:

(
local mapfiles=#()
fn addmap mapfile =
(
local mapfileN=mapfile as name
local index=finditem mapfiles mapfileN
if index == 0 do append mapfiles mapfileN
)
enumeratefiles addmap --line 9
sort mapfiles
for mapfile in mapfiles do print (mapfile as string)
)

9 行目を次のように記述すると、

enumeratefiles addmap #missing

足りないビットマップ ファイルだけが出力されます。

関連事項