#ifndef CAMERA_H
#define CAMERA_H

#include "point.h"
#include "scene.h"
#include "face.h"
#include "math.h"
#include <QPainter>
#include <vector>

class Camera
{
public:
    Point3D position;
    double angle;
    double slope;
    double EyeDistanceInCm;

    Camera();
    void Render(Scene* scene, QPainter* painter);

    void TurnRight(double angle);
    void TurnLeft(double angle);
    void PanUp(double angle);
    void PanDown(double angle);

    void MoveForward(double distance);
    void MoveBackward(double distance);
    void StrafeLeft(double distance);
    void StrafeRight(double distance);
    void MoveUp(double distance);
    void MoveDown(double distance);

    void ZoomIn(double distance);
    void ZoomOut(double distance);
};


#endif // CAMERA_H
