Main Page   Namespace List   Class Hierarchy   Compound List   File List   Header Files   Namespace Members   Compound Members   File Members   Related Pages  

/msg/src/geom/camera.h

This is the verbatim text of the camera.h include file.
/* -*- 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

Generated at Sat Jul 22 00:32:14 2000 for MSG by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999