GLCamera.h

00001 // -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
00002 /* 
00003  * Copyright (C) 2008 Micha Hersch, EPFL
00004  * RobotCub Consortium, European Commission FP6 Project IST-004370
00005  * email:   micha.hersch@robotcub.org
00006  * website: www.robotcub.org
00007  * Permission is granted to copy, distribute, and/or modify this program
00008  * under the terms of the GNU General Public License, version 2 or any
00009  * later version published by the Free Software Foundation.
00010  *
00011  * A copy of the license can be found at
00012  * http://www.robotcub.org/icub/license/gpl.txt
00013  *
00014  * This program is distributed in the hope that it will be useful, but
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
00017  * Public License for more details
00018  */
00019 #ifndef __GLCAMERA_H__
00020 #define __GLCAMERA_H__
00021 
00022 #include <GL/glut.h>
00023 #include <vector>
00024 #include <string>
00025 using namespace std;
00026 
00027 #include "Geometry.h"
00028 
00029 class GLCamera;
00030 typedef GLCamera *pGLCamera;
00031 typedef vector<pGLCamera> GLCamera_List;
00032 
00033 class GLCamera
00034 {
00035 public:
00036   CRef_t  m_ref;
00037   CRef_t  m_holdRef;
00038 
00039   bool    m_hold;
00040 
00041   int     m_Width;
00042   int     m_Height;
00043 
00044 public:
00045   GLCamera();
00046   
00047   void Init(int w, int h);
00048   void Apply();
00049 
00050   void Hold();
00051   void Move(float dx, float dy, float dz, float ay, float ax);
00052   void Accept();
00053 
00054   void Save(string fname);
00055   
00056   void Load(string fname);
00057 };
00058 
00059 #endif
 All Data Structures Functions Variables

Generated on Wed Sep 22 16:51:25 2010 for Body_Schema_Learning by  doxygen 1.6.1