英吋 FBX

FBX SDK 小筆記之方法篇 (Ver 3)

這篇就收集一些用過的方法(函式)
一樣是邊看邊加,慢慢累積嚕


創造 SDK 管理員

宣告:

 static KFbxSdkManager* KFbxSdkManager::Create ( )


參數:

 無參數


使用範例:

 KFbxSdkManager* lSdkManager;
 lSdkManager = KFbxSdkManager::Create();


摧毀 SDK 管理員

 virtual void KFbxSdkManager::Destroy ( )

 無參數


 KFbxSdkManager* lSdkManager;
 lSdkManager->Destroy();



取得目前 SDK 所使用的 FBX 版本編號

 static void KFbxIO::GetCurrentVersion ( int& pMajor, int& pMinor, int& pRevision )

 pMajo  版本開頭的號碼(主要)
 pMinor  版本中間的號碼(次要)
 pRevision  版本結尾的號碼(修訂)

 int lSDKMajor, lSDKMinor, lSDKRevision;

 // 取得 FBX SDK 使用的的版本資訊
 KFbxIO::GetCurrentVersion(lSDKMajor, lSDKMinor, lSDKRevision);



創造 SDK 物件

SDK 物件的創造(Create)幾乎都是在巨集裡面寫的
KFbxScene 類別裡面定義一行 KFBXOBJECT_DECLARE(KFbxScene, KFbxDocument);

在 kfbxobject.h 裡面約第 98 行有定義 #define KFBXOBJECT_DECLARE(Class,Parent)
其中裡面的 Create() 如下

 static Class* Create(KFbxObject *pContainer, char const *pName);


 pContainer  該類別容器的指標
 pName  容器的名稱

 // 以場景(KFbxScene)為例
 KFbxSdkManager* lSdkManager;
 KFbxScene* lScene;

 lScene = KFbxScene::Create(lSdkManager, "名稱");



檢測檔案格式

 bool KFbxIOPluginRegistry::DetectFileFormat ( const char * pFileName, int& pFileFormat ) const


 pFileName  要被檢測的檔案。
 pFileFormat  如果方法回傳 true,則變更為格式的名稱。其他狀況就不做任何改變。


 // pSdkManager 是一個 SDK 管理員
 // GetIOPluginRegistry() 可以取得檔案格式的註冊管理員

 // pFilename 是要被檢測的檔案路徑
 // lFileFormat 接收結果的字串

 // 檢測匯入檔案的格式
 if (!pSdkManager->GetIOPluginRegistry()->DetectFileFormat( pFilename, lFileFormat ))
 { // 做些事情 }



好像真的超過了= =…
下篇以後顏色盡可能簡單了,不然好像塞不了多少字
這編輯器對字型的處理方是真的有夠…
有空看看一下原始碼就知道了…

FBX SDK 小筆記之方法篇 II

–End

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.