00001 #ifndef camera_H
00002 #define camera_H
00003
00004 #include "movable.hpp"
00005 #include <string>
00006
00008
00014 class camera:public movable
00015 {
00016 public:
00017 enum mode { FREE, FREEORIENTED, CENTERED, CENTERORIENTED, FOLLOW, DELAY };
00018
00019 camera(void);
00020
00021
00022 camera(string name, mode lookMode = FREE);
00023 ~camera();
00024
00025 void init();
00026
00027 void draw();
00028 void update();
00029 void move(int pitch,int turn, int roll,float x, float y, float z);
00030 void look(void);
00031
00032 float radius;
00033
00034
00035
00037 matrix16f delay[20];
00039 matrix16f other;
00041 matrix16f *center;
00042
00043 vector3f centerPoint;
00044
00045 vector3f angles;
00046
00047 mode lookMode;
00048
00049 };
00050
00051 #endif