Frameworkを使うのと簡単です。
virtual void FWMyApp::Init(int argc, char* argv[]){ UTRef<ImportIf> import = GetSdk()->GetFISdk()->CreateImport(); GetSdk()->LoadScene(fileName, import); // ファイルのロード GetSdk()->SaveScene("save.spr", import);// ファイルのセーブテスト
FISdk単体で使う場合は次のようになります。
int main(){ // ファイルローダで生成できるように、各SDKの型情報を登録 PHSdkIf::RegisterSdk(); GRSdkIf::RegisterSdk(); FWSdkIf::RegisterSdk(); // ファイルのロード UTRef<FISdkIf> fiSdk = FISdkIf::CreateSdk(); FIFileIf* file = fiSdk->CreateFileFromExt(".spr"); ObjectIfs objs; // ロード用オブジェクトスタック fwSdk = FWSdkIf::CreateSdk(); // FWSDKを用意 // 子オブジェクト作成用にfwSdkをスタックに積む objs.push_back(fwSdk); // FWSDK以下全体をファイルからロード if (! file->Load(objs, "test.spr") ) { DSTR << "Error: Cannot open load file. " << std::endl; exit(-1); } // ファイル中のルートノード(複数の可能性あり)がobjsに積まれる。 for(unsigned i=0; i<objs.size(); ++i){ objs[i]->Print(DSTR); } ...