ユーザーガイド > コア: 外部データ > 外部データの読み込み
外部データの読み込み
 
次の関数について説明します。
パフォーマンスを向上するため、モデルのロード時に外部データは自動的にはメモリにロードされません。セッションでモデルを使用しているときに、関数 ProExtdataLoadAll() を呼び出すことによって、 のモデルファイルの中から指定したモデルのすべての外部データを読み込み、それをワークスペースにロードできます。この関数を一度呼び出すだけですべてのデータが読み込まれます。
関数 ProExtdataLoadAll() のパフォーマンスは、ProExtdataClassNamesList()ProExtdataSlotNamesList()、および ProExtdataSlotRead() のパフォーマンスよりも高いことに注意してください。これら 3 つの関数では、特定の情報だけ (それぞれクラス名、スロット名、スロットファイル) しかロードしないので、パフォーマンスが低下します。
関数 ProExtdataClassNamesList() は、指定したモデルに登録されているすべての外部データクラス名の配列を返します。
関数 ProExtdataSlotIdsList() は、指定したクラスのすべてのスロットの整数 ID の配列を返します。ProExtdataClass 構造体を入力します。これは手動またはプログラムによって設定しなければなりません。関数 ProExtdataSlotNamesList() は、指定したクラスのスロット名の配列を返します。この関数は各スロットについて、そのスロットに名前を指定していない場合でも、配列に語句を割り当てます。
関数 ProExtdataSlotRead() は、指定したスロットからデータ型およびデータを読み取ります。この関数の入力は、ProExtdataSlot 構造体です。これは手動で設定する必要があります。スロットが名前または整数によって識別されることを示す入力引数もあります。この関数はデータ型、バイト数 (データ型が stream または section のとき)、およびデータのポインタを出力します。
関数 ProExtdataSlotRead() は、出力するデータにメモリを割り当てます。このメモリを解放するためには、ProExtdataFree() を呼び出します。
*ProExtdataSlotRead() を繰り返し呼び出して、メモリを解放しない場合、関数はそれぞれの呼び出しで同じメモリを使用します。
これは役に立ちましたか?