#ifndef CCAMERA #define CCAMERA 1 #define ROTATE 1 #define ZOOM 2 #include <gl/glut.h> #include <vcg/Point3.h> using namespace vcg; //=========================================================================================== //Camera per la vista OpenGL<br> //basata sul tutorial <a href="http://www.gametutorials.com/Tutorials/OpenGL/OpenGL_Pg1.htm"> //http://www.gametutorials.com/Tutorials/OpenGL/OpenGL_Pg1.htm </a>*/ //=========================================================================================== class CCamera { public: //========================= //la posizione della camera //========================= Point3<float> m_vPosition; //=========================== //punto di vista della camera //=========================== Point3<float> m_vView; //=========================== //vettore Up della camera //=========================== Point3<float> m_vUpVector; //=========================== //centro di rotazione //=========================== Point3<float> m_vcentrorotazione; /**Costruttore*/ CCamera(); /** Position camera permette di cambiare Posizione, punto di vista e vettore up*/ void PositionCamera(float positionX, float positionY, float positionZ, float viewX, float viewY, float viewZ, float upVectorX, float upVectorY, float upVectorZ); void RotateView(float angle, float x, float y, float z); void RotateAroundPoint(Point3<float> vCenter, float angle, float x, float y, float z); void MoveCamera(float speed); void Draw(); }; #endif