www.pudn.com > UseSkinMeshClass.rar > SkinMesh.h, change:2007-04-02,size:1278b


//============================================================================= 
// SkinMesh.h: 蒙皮网格模型类的定义 
//============================================================================= 
 
#pragma once 
#include "AllocateHierarchy.h" 
 
 
class CSkinMesh 
{ 
private: 
	CAllocateHierarchy*         m_pAlloc; 
	LPDIRECT3DDEVICE9			m_pd3dDevice; 
	LPD3DXFRAME					m_pFrameRoot; 
	D3DXMATRIXA16*              m_pBoneMatrices; 
	UINT                        m_NumBoneMatricesMax; 
 
private: 
	HRESULT SetupBoneMatrixPointers( LPD3DXFRAME pFrame ); 
	HRESULT SetupBoneMatrixPointersOnMesh( LPD3DXMESHCONTAINER pMeshContainerBase ); 
 
	HRESULT LoadFromXFile(WCHAR* strFileName); 
	VOID    UpdateFrameMatrices( LPD3DXFRAME pFrameBase, LPD3DXMATRIX pParentMatrix );  
 
	VOID DrawFrame(LPD3DXFRAME pFrame); 
	VOID DrawMeshContainer(LPD3DXMESHCONTAINER pMeshContainerBase, LPD3DXFRAME pFrameBase); 
 
public: 
	D3DXVECTOR3   m_vObjectCenter; 
	float         m_fObjectRadius; 
	BOOL		  m_bPlayAnim; 
	LPD3DXANIMATIONCONTROLLER	m_pAnimController; 
 
public: 
	HRESULT OnCreate(LPDIRECT3DDEVICE9 pD3DDevice, WCHAR* strFileName); 
	HRESULT Render(D3DXMATRIXA16* matWorld, float fElapsedAppTime); 
	HRESULT OnDestory(); 
 
public: 
	CSkinMesh(); 
	virtual ~CSkinMesh(); 
};