2012-02-10 13 views
0

アニメーションメッシュのfpsに.Xファイル(DirectX用)を解析しようとしています... .Xファイルはテンプレートデータを使用しています。私はテンプレート内の変数を取得したい:AnimTicksPerSecond、しかし、私はGUIDを持っていないため、このテンプレートを認識するようにパーサーに指示することはできません... GUIDを検索する方法はありますか?私のパーサーコードは標準のテンプレートで動作しますが、AnimTicksPerSecondは同じファイル(DirectX SDKで提供)に定義されていません。AnimTicksPerSecond GUID

BOOL cAnimationCollection::ParseObject(LPD3DXFILEDATA pDataObj, DWORD Depth, void **data) 
{ 
    if(pDataObj->IsReference()) 
     return true; 

    if(CompareDataObjectType(pDataObj, TID_D3DRMAnimationSet)) //Animation Set is defined in rmxfguid.h(comes with DX SDK) 
    { 
     // Create and link Object 
     cAnimationSet *AnimSet = new cAnimationSet(); 
     AnimSet->m_Next = m_AnimationSets; 
     m_AnimationSets = AnimSet; 

     // Increment # Animation Sets by 1 
     m_NumAnimationSets++; 

     // Set Animation Index to global count 
     AnimSet->m_index = index; 
     index++; 

     LPD3DXFILEDATA pSubData; 
     SIZE_T nChildren; 

     if(!strcmp(GetObjectName(pDataObj), "Unknown") || !(AnimSet->m_Name = GetObjectName(pDataObj))) 
      AnimSet->m_Name = _strdup("NewAnimationSet"); 
     if(SUCCEEDED(pDataObj->GetChildren(&nChildren))) 
     for(SIZE_T index = 0; index < nChildren; index++) 
      if(SUCCEEDED(pDataObj->GetChild(index, &pSubData))){ 
       ParseChildObjects(pSubData, Depth, data); 
      } 
    } 
    return true; 
} 

答えて

0

AnimTicksPerSecondのための最初のGoogleの結果は、この宣言を持っているMSDN documentation、次のとおりです。

template AnimTicksPerSecond 
{ 
    < 9E415A43-7BA6-4a73-8743-B73D47E88476 > 
    DWORD AnimTicksPerSecond; 
} 

は私にはGUIDのように見えます。

+0

私はIIDを探しています、ごめんなさい –

+0

これはIIDs *であることです。 –

+0

私のコードでAnimTicksPerSecondを参照すると、AnimTicksPerSecondが "参照されていない変数"であるというエラーが表示されます。システムのインクルードファイルのどこかに、AnimTicksPerSecond ...のような適切なIIDへの参照があります。たとえばrmxfguid.hには、IID:TID_D3DRMAnimationを持つアニメーションテンプレートのDEFINE_GUIDマクロがあります。 TnimTicksPerSecondはrmxfguid.hのリストにありません...どこですか?どのように私はそれを参照するのですか? –