///////////////////////////////////////////////////////////////////////////////
//  CTransform.h

#pragma once

#include "S3D.h"
#include "SMatrix.h"
#include "SQuaternion.h"

namespace math3d {

class CTransform {
	S3D				m_Scale;
	SQuaternion		m_Rotate;
	S3D				m_Pos;

public:
	CTransform();
	CTransform(const S3D& Scale, const SQuaternion& Rotate, const S3D& Pos);
	virtual ~CTransform() = default;

	void		SetScale(const S3D& Scale);
	const S3D&	GetScale() const;

	void				SetRotate(const SQuaternion& Rotate);
	const SQuaternion&	GetRotate() const;

	void		SetPos(const S3D& Pos);
	const S3D&	GetPos() const;

	SMatrix		GetMatrix() const;
};

}

