#include <mof/math/make_matrix.hpp>

namespace mof
{
namespace math
{
	const matrix2& make_identity2()
	{
		static matrix2 M(1, 0, 0, 0, 1, 0);
		return M;
	}

	matrix2 make_scaling2(const vector2& v)
	{
		return matrix2();
	}
	
	matrix2 make_reverse_scaling2(const matrix2& M)
	{
		return matrix2();
	}

	matrix2 make_rotation2(const vector2& v)
	{
		return matrix2();
	}

	matrix2 make_reverse_rotation2(const matrix2& M)
	{
		return matrix2();
	}

	matrix2 make_translation2(const vector2& v)
	{
		return matrix2();
	}

	matrix2 make_reverse_translation2(const matrix2& M)
	{
		return matrix2();
	}

	const matrix3& make_identity3()
	{
		static matrix3 M(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0);
		return M;
	}

	matrix3 make_scaling3(const vector3& v)
	{
		return matrix3();
	}
	
	matrix3 make_reverse_scaling3(const matrix3& M)
	{
		return matrix3();
	}

	matrix3 make_rotation3(const vector3& v)
	{
		return matrix3();
	}
	
	matrix3 make_reverse_rotation3(const matrix3& M)
	{
		return matrix3();
	}

	matrix3 make_translation3(const vector3& v)
	{
		return matrix3();
	}	

	matrix3 make_reverse_translation3(const matrix3& M)
	{
		return matrix3();
	}

	matrix3 make_view3(const vector3& eye, const vector3& lookat, const vector3& up)
	{
		return matrix3();
	}


}
}
