//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2008)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: XYZ.hpp
//      Краткое описание: color space - XYZ
//

#ifndef DSE_MATH_XYZ_HPP
#define DSE_MATH_XYZ_HPP

#include <Darkstar/Math/vect.hpp>

namespace math
{
	class XYZ
	{
	public:
		union
		{
			struct
			{
				float X, Y, Z;
			};
			struct 
			{
				Vect3 vec;
			};
		};

		XYZ();
		XYZ(const float x, const float y, const float z);
		XYZ(const Vect3& v);
		XYZ(const XYZ& color);
		~XYZ();

		const XYZ& operator+=(const XYZ& color);
		const XYZ& operator*=(const XYZ& color);
		const XYZ& operator*=(const float f);

		XYZ operator*(const XYZ& color) const;
		XYZ operator+(const XYZ& color) const;
		XYZ operator*(const float f) const;
	};
};

#include <Darkstar/Math/XYZ.inl>

#endif

