Fawkes API Fawkes Development Version
|
00001 /*************************************************************************** 00002 * ccd_cam.cpp - Class defining a ccd camera model 00003 * 00004 * Created: Thu May 08 16:08:00 2008 00005 * Copyright 2008 Christof Rath <c.rath@student.tugraz.at> 00006 * 00007 ****************************************************************************/ 00008 00009 /* This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. A runtime exception applies to 00013 * this software (see LICENSE.GPL_WRE file mentioned below for details). 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Library General Public License for more details. 00019 * 00020 * Read the full text in the LICENSE.GPL_WRE file in the doc directory. 00021 */ 00022 00023 #include <models/camera/ccd_cam.h> 00024 00025 using namespace fawkes; 00026 00027 namespace firevision { 00028 #if 0 /* just to make Emacs auto-indent happy */ 00029 } 00030 #endif 00031 00032 /** @class CCDCam <models/camera/ccd_cam.h> 00033 * A class for a ccd camera model. 00034 * @author Christof Rath 00035 */ 00036 00037 /** Constructor. 00038 * @param cal Calibration matrix of the camera 00039 * @param loc Location of the camera (= translation + rotation) 00040 */ 00041 CCDCam::CCDCam(const CCDCalibration &cal, const HomTransform *loc) 00042 : ProjectiveCam (cal, loc) 00043 { 00044 } 00045 00046 /** Constructor. 00047 * @param ax is the scale factor in the x-coordinate direction 00048 * @param ay is the scale factor in the y-coordinate direction 00049 * @param x0 is the x-coordinate of the principal point 00050 * @param y0 is the y-coordinate of the principal point 00051 * @param loc Location of the camera (= translation + rotation) 00052 */ 00053 CCDCam::CCDCam(const float ax, const float ay, const float x0, const float y0, const HomTransform *loc) 00054 : ProjectiveCam (CCDCalibration(ax, ay, x0, y0), loc) 00055 { 00056 } 00057 00058 /** Copy constructor 00059 * @param cp the CCDCam to copy 00060 */ 00061 CCDCam::CCDCam(const CCDCam& cp) : ProjectiveCam(cp) 00062 { 00063 } 00064 00065 00066 /** Destructor. 00067 */ 00068 CCDCam::~CCDCam() 00069 { 00070 } 00071 00072 } // end namespace firevision