CameraGL.h

Go to the documentation of this file.
00001 /* $Id: CameraGL.h,v 1.2 2002/07/03 11:31:55 cvs Exp $ */
00002 
00003 #ifndef __CAMERA_GL_H
00004 #define __CAMERA_GL_H
00005 
00006 #include <esg/Definitions.h>
00007 #include <gra/camera/Camera.h>
00008 #include <GL/gl.h>
00009 
00010 /*
00011  * Projections are set by OpenGL calls -- glOrtho() and glFrustum().
00012  */
00013 
00014 namespace gra {
00015 
00016 class GRA_EXPORT CameraGL : public Camera {
00017 protected:
00018     static void _set_orthogonal_proj  (const Projection&);
00019     static void _set_perspective_proj (const Projection&);
00020 
00021 public:
00027     CameraGL(AutoPtr<Projection> * pAP);
00028 
00036     CameraGL(const Camera& src);
00037 
00043     static void setOpenGLTransform(const Matrix4& trMat);
00044 
00050     virtual void setTransform(const Matrix4& trMat);
00051 
00055     virtual void unsetTransform();
00056 
00063     virtual void rotateX(float /* angle */);
00064     virtual void rotateY(float /* angle */);
00065     virtual void rotateZ(float /* angle */);
00066     virtual void rotate (float /* angle */, const Vector3& /* axis */);
00067 
00072     virtual void translate(float /* x */, float /* y */, float /* z */);
00073 
00079     virtual void setProjection(AutoPtr<Projection> * /* pProj */);
00080 };
00081     
00082 } // namespace
00083 
00084 #endif // __CAMERA_GL_H

Generated on Tue Nov 21 15:11:42 2006 for gra by  doxygen 1.4.6