From 99778e9b85bd4a16a9055587a273446068577100 Mon Sep 17 00:00:00 2001 From: Ian C Date: Tue, 2 May 2006 19:12:46 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r2, which included commits to RCS files with non-trunk default branches. --- camera.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 camera.h (limited to 'camera.h') diff --git a/camera.h b/camera.h new file mode 100644 index 0000000..d1c39c0 --- /dev/null +++ b/camera.h @@ -0,0 +1,58 @@ +// +// glgrav - OpenGL N-Body gravity simulator +// +// Copyright (C) 2003 Ian Cowburn (ianc@noddybox.demon.co.uk) +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// ------------------------------------------------------------------------- +// +// Camera handling +// +// $Id$ +// +#ifndef CAMERA_H + +#define CAMERA_H + +#include "global.h" +#include "matrix.h" + +class Camera + { + public: + Camera(); + virtual ~Camera(); + + // Initially the camera always looks along the Z axis + // + void setPos(GLfloat x, GLfloat y, GLfloat z); + + void addSpeed(GLfloat speed); + void roll(double angle); + void pitch(double angle); + + void setView() const; + + private: + GLfloat px,py,pz; + Matrix direction; + Matrix left; + Matrix up; + }; + +#endif + +// END OF FILE // -- cgit v1.2.3