Camera.h
Go to the documentation of this file.
00001 /* ========================================================================
00002 * PROJECT: ARToolKitPlus
00003 * ========================================================================
00004 * This work is based on the original ARToolKit developed by
00005 *   Hirokazu Kato
00006 *   Mark Billinghurst
00007 *   HITLab, University of Washington, Seattle
00008 * http://www.hitl.washington.edu/artoolkit/
00009 *
00010 * Copyright of the derived and new portions of this work
00011 *     (C) 2006 Graz University of Technology
00012 *
00013 * This framework is free software; you can redistribute it and/or modify
00014 * it under the terms of the GNU General Public License as published by
00015 * the Free Software Foundation; either version 2 of the License, or
00016 * (at your option) any later version.
00017 *
00018 * This framework is distributed in the hope that it will be useful,
00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00021 * GNU General Public License for more details.
00022 *
00023 * You should have received a copy of the GNU General Public License
00024 * along with this framework; if not, write to the Free Software
00025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 *
00027 * For further information please contact 
00028 *   Dieter Schmalstieg
00029 *   <schmalstieg@icg.tu-graz.ac.at>
00030 *   Graz University of Technology, 
00031 *   Institut for Computer Graphics and Vision,
00032 *   Inffeldgasse 16a, 8010 Graz, Austria.
00033 * ========================================================================
00034 ** @author   Thomas Pintaric
00035 *
00036 * $Id$
00037 * @file
00038 * ======================================================================== */
00039 
00040 
00041 #ifndef __ARTOOLKIT_CAMERA_HEADERFILE__
00042 #define __ARTOOLKIT_CAMERA_HEADERFILE__
00043 
00044 #include <ARToolKitPlus/config.h>
00045 #include <ARToolKitPlus/param.h>
00046 #include <ARToolKitPlus/Logger.h>
00047 
00048 namespace ARToolKitPlus {
00049 
00050 class Camera : public ARParam
00051 {
00052 public:
00053         Camera()
00054         {  fileName = NULL;  }
00055 
00056         virtual ~Camera()
00057     {
00058       if (fileName != NULL)  delete fileName;
00059     }
00060 
00061         virtual void observ2Ideal(ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy) = 0;
00062         virtual void ideal2Observ(ARFloat ix, ARFloat iy, ARFloat *ox, ARFloat *oy) = 0;
00063         virtual bool loadFromFile(const char* filename) = 0;
00064         virtual Camera* clone() = 0;
00065         virtual bool changeFrameSize(const int frameWidth, const int frameHeight) = 0;
00066         virtual void logSettings(Logger* p_log) = 0;
00067 
00068         char* getFileName() const  {  return fileName;  }
00069 
00070 protected:
00071         void setFileName(const char* filename)
00072         {
00073                 if(fileName)
00074                         delete fileName;
00075                 fileName = new char[strlen(filename)+1];
00076                 strcpy(fileName, filename);
00077         }
00078 
00079         char* fileName;
00080 };
00081 
00082 }  // namespace ARToolKitPlus
00083 
00084 #endif // __ARTOOLKIT_CAMERA_HEADERFILE__


tuw_artoolkitplus
Author(s): Markus Bader
autogenerated on Sun May 29 2016 02:50:12