//--------------------------------------
// M - Moteur physique 
//         -------
// nEUrOO - Juillet 2004
//--------------------------------------
#include <iostream>

#include "maths_defs.h"

#include "m_Vector.h"
#include "m_matrix.h"


inline void Matrix3::Set (	float m11, float m12, float m13,
										float m21, float m22, float m23,
										float m31, float m32, float m33)
{
    Matrix3::m11 = m11; Matrix3::m12 = m12; Matrix3::m13 = m13;
    Matrix3::m21 = m21; Matrix3::m22 = m22; Matrix3::m23 = m23;
    Matrix3::m31 = m31; Matrix3::m32 = m32; Matrix3::m33 = m33;
}

inline void Matrix3::Identity() 
{
	m11 = 1 , m12 = 0 , m13 = 0 ,
	m21 = 0 , m22 = 1 , m23 = 0 ,
	m31 = 0 , m32 = 0 , m33 = 1 ;
}

inline void Matrix3::Nulle() 
{
	m11 = 0 , m12 = 0 , m13 = 0 ,
	m21 = 0 , m22 = 0 , m23 = 0 ,
	m31 = 0 , m32 = 0 , m33 = 0 ;
}

Vector Matrix3::Diag() const
{
	return Vector(Matrix3::m11,Matrix3::m22,Matrix3::m33);
}

void Matrix3::Diag2(float &diag_1, float &diag_2, float &diag_3)
{
	diag_1 = m11,
	diag_2 = m22,
	diag_3 = m33;
}


void Matrix3::out() const
{
	std::cout << " Matrice :" << std::endl;
	std::cout << " " << m11 << "," << m12 << "," << m13 << std::endl;
	std::cout << " " << m21 << "," << m22 << "," << m23 << std::endl;
	std::cout << " " << m31 << "," << m32 << "," << m33 << std::endl;
}