www.pudn.com > 3ds-load.rar > Math.h


//------------------------------------------------------------------// 
//- class VECTOR3D -------------------------------------------------// 
//------------------------------------------------------------------// 
//- A class for all three dimensional vectors.  This will have some-// 
//- very nice features so that we can add/multiply/subtract/divide -// 
//- vectors together now! (Also used for vertices)				   -// 
//------------------------------------------------------------------// 
#include "gamehead.h" 
 
 
 
//------------------------------------------------------------------// 
//- class VECTOR3D -------------------------------------------------// 
//------------------------------------------------------------------// 
//- A class for all three dimensional vectors.  This will have some-// 
//- very nice features so that we can add/multiply/subtract/divide -// 
//- vectors together now! (Also used for vertices)				   -// 
//------------------------------------------------------------------// 
class CVertex 
	{ 
	public: 
		float vertex[3]; 
 
	CVertex inline operator+ (const CVertex &v); 
	CVertex inline operator- (const CVertex &v); 
	CVertex inline operator* (const float scalar); 
	CVertex inline operator* (const CVertex &v); 
	CVertex inline operator/ (const CVertex &v); 
 
	void SendToOGL(void); 
 
	CVertex() 
		{	memset(vertex, 0, sizeof(float[3]));	} 
	CVertex(float x, float y, float z); 
	}; 
 
//------------------------------------------------------------------// 
//- class VECTOR3D -------------------------------------------------// 
//------------------------------------------------------------------// 
//- A class for 4x4 matrices.									   -// 
//------------------------------------------------------------------// 
class CMatrix44 
	{ 
	public: 
		float matrix[16]; 
 
	void LoadZero(void); 
	void LoadIdentity(void); 
 
	friend CMatrix44 operator+ (const CMatrix44 &m1, const CMatrix44 &m2); 
	friend CMatrix44 operator- (const CMatrix44 &m1, const CMatrix44 &m2); 
	friend CMatrix44 operator* (const CMatrix44 &m1, const float scalar); 
	friend CMatrix44 operator* (const CMatrix44 &m1, const CMatrix44 &m2); 
 
	CMatrix44() 
		{	memset(matrix, 0, sizeof(float[16]));	} 
	}; 
 
 
//------------------------------------------------------------------// 
//- class SHINING3D ------------------------------------------------// 
//------------------------------------------------------------------// 
//- The main graphics/window class.  Has functions for creating a  -// 
//- window, and various other stuff.							   -// 
//------------------------------------------------------------------//