/* -*- Objc -*- */ /* * $Id: Camera.h,v 1.1 2003/05/23 12:04:48 madruon Exp $ * * Copyright (C) 2003 Free Software Foundation, Inc. * * This file is part of GNU Hégémonie. * * 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. */ #ifndef CAMERA_H #define CAMERA_H #include #include "Coord.h" @interface Camera : NSObject { @private double _fovy; double _aspect; double _zNear; double _zFar; coord_t _eye; coord_t _center; coord_t _up; } - (id) initWithFovy: (double)fovy aspect: (double)aspect zNear: (double)zNear zFar: (double)zFar eye: (coord_t)eye center: (coord_t)center up: (coord_t)up; - (double) fovy; - (double) fovx; - (double) aspect; - (double) zNear; - (double) zFar; - (coord_t) eye; - (coord_t) center; - (coord_t) dir; - (coord_t) up; - (coord_t) ortho; - (id) setAspect: (double)aspect; - (id) setEye: (coord_t)eye; - (id) setCenter: (coord_t)center; - (id) setUp: (coord_t)up; - (void) move: (coord_t)step; - (void) moveTo: (coord_t)position; - (void) rotateHeading: (double)heading pitch: (double)pitch roll: (double)roll; @end #endif /* CAMERA_H */