Public API Reference |
00001 /* 00002 * AE Engine 00003 * 00004 * Copyright (C) 2003 Riku "Rakkis" Nurminen 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 * 00020 */ 00021 00022 #ifndef __AELIB_AEENGINE_CAMERA_H__ 00023 #define __AELIB_AEENGINE_CAMERA_H__ 00024 00025 #define ONLY_INCLUDE_STD 00026 #include <aedefs.h> 00027 #undef ONLY_INCLUDE_STD 00028 #include <aeengine/engine.h> 00029 #include <aegeom/vector3.h> 00030 00038 class aeCamera { 00039 private: 00041 char *camName; 00043 aeVector3 camPos; 00045 aeVector3 camOrientation; 00046 00047 public: 00053 aeCamera(const char *cName); 00054 00055 ~aeCamera(); 00056 00062 char *getName() const { return camName; } 00063 00069 void setPosition(const aeVector3 &pos); 00070 00078 void setPosition(float x, float y, float z); 00079 00085 void move(const aeVector3 &pos); 00086 00094 void move(float x, float y, float z); 00095 00101 void moveWorld(const aeVector3 &pos); 00102 00110 void moveWorld(float x, float y, float z); 00111 00117 void setOrientation(const aeVector3 &o); 00118 00126 void setOrientation(float x, float y, float z); 00127 00133 aeVector3 getPosition() const { return camPos; } 00134 00140 aeVector3 getOrientation() const { return camOrientation; } 00141 00148 void rotate(const aeVector3 &v, float degrees); 00149 }; 00150 00151 #endif // __AELIB_AEENGINE_CAMERA_H__