Fawkes API  Fawkes Development Version
ccd_cam.cpp
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