⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colmesh.h

📁 Beginning Direct3D Game Programming源代码Part3chapter12
💻 H
字号:
#ifndef H_COLLIDABLE_MESH
#define H_COLLIDABLE_MESH

#include <coldet.h>
#include <math3d.h>
#include "D3DFile.h"

class CCollidableMesh : public CD3DMesh
{
public:
  CCollidableMesh( TCHAR* strName = _T("CD3DFile_Mesh") ) 
    : CD3DMesh(strName),
      m_ColModel(NULL),
      m_Transform(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),
      m_Speed(0,0,0),
      m_Mass(1.0f)
  {}
  virtual ~CCollidableMesh() { delete m_ColModel; }

  bool    Collision(CCollidableMesh& other);
  void    React(CCollidableMesh& other);
  HRESULT Advance(float dt);
	HRESULT Create( LPDIRECT3DDEVICE8 pd3dDevice, TCHAR* strFilename );
  HRESULT Render( LPDIRECT3DDEVICE8 pd3dDevice, 
		              BOOL bDrawOpaqueSubsets = TRUE,
		              BOOL bDrawAlphaSubsets = TRUE );
  
  void SetSpeed(const Vector3D& v) { m_Speed=v; }
  const Vector3D& GetSpeed() { return m_Speed; }
  void SetMass(float mass) { m_Mass=mass; }
  void SetRotateSpeed(const Vector3D& v) { m_RotateSpeed=v; }
  void SetPosition(const Vector3D& v);
  void SetDirection(const Vector3D& v);
protected:
  CollisionModel3D* m_ColModel;
  Matrix3D m_Transform;
  Vector3D m_Speed;
  Vector3D m_RotateSpeed;
  float    m_Mass;
};

#endif // H_COLLIDABLE_MESH

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -