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);
}
...