DXFileData.h
上传用户:wymy58
上传日期:2007-01-07
资源大小:2086k
文件大小:1k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. // Copyright (C) 1999 DXGuide.  All Rights Reserved.
  2. // File: DXFileData.h
  3. #ifndef _DXFILEDATA__H
  4. #define _DXFILEDATA__H
  5. #include <dxfile.h>
  6. class CD3DFileFrame;
  7. class CD3DFileMesh;
  8. class CD3DXFile;
  9. class CDXFileData
  10. {
  11. friend class CD3DXFile;
  12. protected:
  13. CDXFileData(void);
  14. virtual ~CDXFileData();
  15. public:
  16. bool Create(LPDIRECTXFILEOBJECT  lpDirectXFileObject);
  17. bool Create(LPDIRECTXFILEDATAREFERENCE  lpDirectXFileDataReference);
  18. bool Create(LPDIRECTXFILEENUMOBJECT  lpDirectXFileEnumObject);
  19. public:
  20. bool ParseFrame(CD3DFileFrame*  pParentFrame,
  21. CD3DXFile*  pD3DXFile);
  22. bool ParseMaterial(CD3DFileMesh*  pMesh);
  23. bool ParseMeshMaterialList(CD3DFileMesh*  pMesh);
  24. bool ParseMesh(CD3DFileFrame*  pParentFrame,
  25. CD3DXFile*  pD3DXFile);
  26. public:
  27. HRESULT GetId(const LPGUID  pGuid);
  28. HRESULT GetName(LPSTR  pstrNameBuf, LPDWORD  pdwBufLen);
  29. HRESULT GetName(CString&  strName);
  30. HRESULT GetData(LPCSTR  szMember, DWORD*  pcbSize,
  31. void**  ppvData);
  32. HRESULT GetNextObject(LPDIRECTXFILEOBJECT*  ppChildObj);
  33. HRESULT GetType(const GUID**  ppguid);
  34. protected:
  35. LPDIRECTXFILEDATA  m_lpDXFileData;
  36. public:
  37. #ifdef _DEBUG
  38. static ULONG m_ulDXFileDataCounter;
  39. #endif // _DEBUG
  40. };
  41. #endif // _DXFILEDATA__H