#ifndef _MATH3D_H_
#define _MATH3D_H_

#include "../App/StructureH.h"


//////////////////////////////////////////////////////////////////////////
// CVECTOR3 - 
//////////////////////////////////////////////////////////////////////////



class CVector3
{
public :
	float x, y, z;

	CVector3();
	CVector3(const float x, const float y, const float z);
	~CVector3();
public :
	 CVector3 operator +(const CVector3 &vec1);
	 CVector3 operator +(const float f);
	 CVector3 operator -(const CVector3 &vec1);
	 CVector3 operator *(const CVector3 &vec1);
	 CVector3 operator *(const float &num);
	 CVector3 operator /(const CVector3 &vec1);
	 CVector3 operator /(const float f);
	 CVector3 operator <<(const CVector3 v); //cross
	 void Normalize();
	 float GetLenght();
};

const CVector3 CV3_NULL = CVector3(0, 0, 0);
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
// CVECTOR4 - 
//////////////////////////////////////////////////////////////////////////
class CVector4
{
public :
	float x, y, z, w;

	CVector4();
	CVector4(const float x, const float y, const float z);
	~CVector4();

public :
	/* CVector3 operator +(const CVector3 &vec1);
	 CVector3 operator -(const CVector3 &vec1);
	 CVector3 operator *(const CVector3 &vec1);
	 CVector3 operator /(const CVector3 &vec1);
	 CVector3 operator /(const float f);
	 CVector3 operator <<(const CVector3 v); //cross
	 void Normalize();
	 float GetLenght();*/
};






//bool ColAshlarToAshlar(TAshlar a, TAshlar b);
bool ColAshlarToPoint(TAshlar b, TPoint a);

#endif //_MATH3D_H_
