3ds Max 2019 の
新機能: CustomSceneStreamManager インタフェースは、現在の 3ds Max シーン ファイルで CustomFileStreams をクエリ、追加、および削除する場合に使用されます。
|
インタフェース > コア インタフェース > CustomSceneStreamManager |
カスタム ファイル ストリームには、CustomFileStreamManager での処理方法を決定する 3 つのフラグがあります。
CustomSceneStreamManager コードのロードと起動は複数回実行される可能性があるため、システム構成によっては、システムまたは他の 3ds Max コンポーネントがファイル操作通知を受け取る順番を予測できない可能性があります。このため、CustomSceneStreamManager 自身またはシーン ファイルを操作する必要がある場合は(コピーして格納するなど)、インタフェースのメソッドを使用してコールバックを登録する必要があります。
プロパティ:
.numEntries : integer : Read
CustomSceneStreamManager のキャッシュ内のエントリ数です。
.locked : bool : Read|Write
CustomSceneStreamManager がロックされているかどうかを選択します。ロックされている場合、CustomSceneStreamManager は 3ds Max からの通知に反応しません。 これは、マネージャがデータ ストリームを自動的にロードまたは保存しないことを意味します。
メソッド:
<string>getStreamName <index>index
指定したキャッシュ エントリ インデックスのストリームの名前を返します。
<index>getStreamByName <string>name
指定したストリームのインデックスを返します。指定したストリームが存在しない場合は、例外が発生します。
<bool>doesStreamExist <value>which
指定したストリームが存在する場合、true を返します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。
<integer>getStreamFlag <value>which privateFlag:<bool> privateFlag default value: false <void>setStreamFlag <value>which <integer>value privateFlag:<bool> privateFlag default value: false
指定したストリームのパブリック フラグ値またはプライベート フラグ値を取得または設定します。「プライベート」整数の最初の 3 ビットには、持続性、保存、およびキャッシュのフラグが含まれています。残りのビットは将来の使用のために予約されています。「パブリック」整数には、任意のフラグ、または必要なその他のデータを含めることができます。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<bool>isStreamDataAnArray <value>which
指定したストリームの内容が文字列の配列である場合は、true を返します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<string>getStreamData <value>which
指定したストリームの内容を文字列として返します。内容が文字列の配列である場合は、最初の文字列が返されます。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<string by value array>getStreamDataAsArray <value>which
指定したストリームの内容を文字列の配列として返します。内容が単一文字列の場合は、1 要素の配列が返されます。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<void>setStreamData <value>which <string>string
指定したストリームの内容を文字列として設定します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<void>setStreamDataAsArray <value>which <&string array>string_array string_array is In parameter
指定したストリームの内容を文字列の配列として設定します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。注: 空の配列を保存した場合、isStreamDataAnArray() は false を返します。
<bool>isStreamPersistent <value>which <void>setStreamPersistent <value>which <bool>persistent
シーン ファイルに書き込むときに、指定したストリームが永続的としてにフラグ設定されているかどうかを取得または設定します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<bool>getSaveNonPersistentStream <value>which <void>setSaveNonPersistentStream <value>which <bool>val
永続的ファイルとしてフラグ設定されていない場合でも、指定したストリームをシーン ファイルに書き込むようにフラグ設定されているかどうかを取得または設定します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<bool>getNoLoadOnSceneLoad <value>which <void>setNoLoadOnSceneLoad <value>which <bool>val
指定したストリームをシーン ファイルに書き込むときに、シーン ファイルのロード時にロードされないようにフラグ設定されているかどうかを取得または設定します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。指定したストリームが存在しない場合は、例外が発生します。
<void>deleteStream <value>which
指定したストリームを削除します。which パラメータにはストリーム名またはストリームのインデックスを指定できます。
<index> createStream <string>name persistent:<bool> saveNonPersistentStream:<bool> noLoadOnSceneLoad:<bool> persistent default value: true saveNonPersistentStream default value: true noLoadOnSceneLoad default value: false
指定した名前およびフラグ値を持つキャッシュ エントリを作成します。エントリの中身は空の文字列になります。同じ名前を持つキャッシュ エントリが既に存在する場合は、例外が発生します。
<void>registerCallback <value>callback_fn
<value>callback_id <enum>event
event enums: {#postLoad|#preSave|#postSave}
対応する CustomSceneStreamManager イベントが発生したときに呼び出されるコールバック関数を登録します。callback_id には名前値を指定する必要があります。コールバック関数には 2 つの引数を指定する必要があります。最初の引数はファイル名で、2 番目の引数は名前値となるイベントのタイプです(#postLoad、#preSave、または #postSave)。コールバック関数の実行中に例外が発生した場合は、その関数が自動的に登録解除されます。
<void>unregisterCallbacks callback_fn:<value>
callback_id:<value> event:<enum>
callback_fn default value: undefined
callback_id default value: undefined
event enums: {#postLoad|#preSave|#postSave}
event default value: -1
キーワード引数で指定したすべての値と一致するコールバック関数を登録解除します。
<value>getCallbacks callback_fn:<value>
callback_id:<value> event:<enum>
callback_fn default value: undefined
callback_id default value: undefined
event enums: {#postLoad|#preSave|#postSave}
event default value: -1
キーワード引数で指定したすべての値と一致するすべてのコールバック関数の配列を返します。