/* -*- 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