#pragma once
#include "Vector4.h"

class Matrix44
{
public:
	float data[16];
	float* getData();
	void setPosition(Vector3 position);
	void setScale(Vector3 scale);
	void setRotationFromQuaternion(float x, float y, float z, float w);
	Matrix44(void);
	Matrix44(float _mat[16]);
	~Matrix44(void);

	float& operator[](int index);

	void print() const;

	//Matrix44 operator=(Matrix44 other) const;

	bool operator==(Matrix44 other) const;

	Matrix44 operator*(Matrix44 other);
	Matrix44& operator*=(Matrix44 other);

	Vector3 operator*(Vector3 other);
	Vector4 operator*(Vector4 other);
};
