camera.h cmath vector.h mygl.h screen.h src/camera.cpp src/level.h src/player.h src/main.h OpenArena::Camera OpenArena #ifndef__camera_h__ #define__camera_h__ #include<cmath> #ifdefWIN32 #include<windows.h>//Currentlyusedformousestuffthisshouldbereplacedbyoa_input #endif #include"vector.h" #include"mygl.h" #include"screen.h" namespaceOpenArena { classCamera { public: Camera();//DefaultConstructor //Camera(constCamera&);//CopyConstructor Vec3fPosition(); Vec3dView(); Vec3dUpVector(); Vec3dStrafe(); voidPositionCamera(doublexpos,doubleypos,doublezpos, doublexview,doubleyview,doublezview, doublexup,doubleyup,doublezup); voidPositionCamera(Vec3dpos,Vec3dview,Vec3dup); voidRotateView(doubleangle,Vec3daxis); voidRotateView(doubleangle,doubleX,doubleY,doubleZ); voidSetViewByMouse(Windowwindow); voidStrafeCamera(doublespeed); //Purpose: //Movesthecameraalongit'sstrafevectorspeedunits. voidMoveCamera(doublespeed); voidUpdate(); voidLook(); voidRotateHorizontal(floatangle); voidRotateVertical(floatangle); private: Vec3fGetUpVector(); Vec3fGetRightVector(); Vec3fGetForwardVector(); voidUpdateVectors(); private: Vec3fm_vPosition; Vec3fm_vView; Vec3fm_vUpVector; Vec3fm_vStrafe; }; }; #endif