#ifndef CAMERA_H #define CAMERA_H #include #include #include #include #include "point3d.h" #include "vector3d.h" #include using namespace std; class Camera { public: Camera(); Camera(Point3D e, Point3D look, Vector3D up); void set(Point3D e, Point3D look, Vector3D up); void roll(float angle); void pitch(float angle); void yaw(float angle); void forward(float dt); void setShape(float va, float ar, float nd, float fd); float getSpeed() {return speed;} void setSpeed(float sp) {speed = sp;} void setModelViewMatrix(); public: Point3D eye; Vector3D n; // Opposite of camera direction Vector3D u; // To right of camera direction Vector3D v; // Upwards of camera direction double viewAngle; double aspect; double nearDist; double farDist; double speed; }; #endif