#ifndef CAMERA_H
#define CAMERA_H

// System Header Files --------
#ifdef _WIN32
#include <windows.h>
#endif // _WIN32
#include <gl/gl.h>
#include <gl/glu.h>

// Program Header Files -------
#include "vector.h"

namespace ngObjects
{
	class Camera
	{
		public:
			Camera(){};
			Camera(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
			void lookAt(GLfloat, GLfloat, GLfloat);
			void move(GLfloat, GLfloat, GLfloat);
			void rotateAxisX(GLfloat);
			void rotateAxisY(GLfloat);
			void setDistance(GLfloat);
			void setLocation(GLfloat, GLfloat, GLfloat);
			void update();
			
			vector3D position;

		private:
			vector3D look;
			vector3D rotation;
			GLfloat distance;
	};
}

#endif // CAMERA_H
