/* -*- C++ -*- * camera.h * $Id: camera.h,v 1.1.1.1 2000/07/20 20:54:13 ghali Exp $ */ #ifndef CAMERA_H #define CAMERA_H #include <iostream.h> #include "point3d.h" #include "vector3d.h" namespace MSG { const double defaultfovy = 45.0; const double defaultaspect = 1.0; const double defaultzNear = 1.0; const double defaultzFar = 100.0; struct Camera { public: Point3d vp3d; Point3d coi3d; Direction3d updir; double fovy; // GLdouble is an alias to double double aspect; double zNear; double zFar; public: Camera(const Point3d& _vp3d, const Point3d& _coi3d, const Direction3d& _updir, double fovy = defaultfovy, double aspect = defaultaspect, double zNear = defaultzNear, double zFar = defaultzFar); friend ostream& operator<<( ostream& out, const Camera& camera ); }; } #endif