#include "iVector3.hpp"

/*** Custom Header File ***/
#include "../Vector/Vector3.hpp"

using MathEngine::iVector3;
using MathEngine::Vector3;

iVector3::iVector3( const int X /*= 0*/, const int Y /*= 0*/, const int Z /*= 0*/ )
	: iVector2(X, Y), z(Z)
{}

iVector3::iVector3( const iVector2& copy )
	: iVector2(copy), z(0)
{}

iVector3::iVector3( const SDL_Rect& copy )
{
	x = int(copy.x);
	y = int(copy.y);
	z = int(copy.w);
}

iVector3& iVector3::operator=( const SDL_Rect& copy )
{
	x = int(copy.x);
	y = int(copy.y);
	z = int(copy.w);

	return *this;
}

bool iVector3::operator==( const SDL_Rect& other ) const
{
	bool rtn = false;
	if ( x == other.x )
		if ( y == other.y )
			if ( z == other.w )
				rtn = true;
	return rtn;
}

iVector3::iVector3( const Vector3& copy )
{
	x = int(copy.x);
	y = int(copy.y);
	z = int(copy.z);
}

iVector3& iVector3::operator=( const Vector3& copy )
{
	x = int(copy.x);
	y = int(copy.y);
	z = int(copy.z);

	return *this;
}

bool iVector3::operator==( const iVector3& other ) const
{
	bool rtn = false;
	if ( x == other.x )
		if ( y == other.y )
			if ( z == other.z )
				rtn = true;
	return rtn;
}
