Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Representations/Perception/CameraParameters.cpp

Go to the documentation of this file.
00001 /** 
00002 * @file CameraParameters.cpp
00003 * Implementation of class CameraParameters.
00004 *
00005 * @author <A href=mailto:bach@informatik.hu-berlin.de>Joscha Bach</A>
00006 */
00007 
00008 #include "Tools/Streams/InOut.h"
00009 #include "CameraParameters.h"
00010 #include <string.h>
00011 
00012 CameraParameters::CameraParameters() 
00013 {
00014   sprintf(whiteBalanceString, "wb_fl_mode");
00015   sprintf(gainString, "gain_mid");
00016   sprintf(shutterSpeedString, "shutter_fast");
00017 }
00018 
00019 void CameraParameters::serialize(In* in, Out* out)
00020 {
00021   STREAM_REGISTER_BEGIN();
00022   STREAM(whiteBalanceString);
00023   STREAM(shutterSpeedString);
00024   STREAM(gainString);
00025   STREAM_REGISTER_FINISH();
00026 }
00027 
00028 void CameraParameters::setWhiteBalance(whiteBalance theWhiteBalance) 
00029 {
00030   strcpy(this->whiteBalanceString, getWhiteBalanceName(theWhiteBalance));
00031 }
00032 void CameraParameters::setShutterSpeed(shutterSpeed theShutterSpeed) 
00033 {
00034   strcpy(this->shutterSpeedString, getShutterSpeedName(theShutterSpeed));
00035 }
00036 void CameraParameters::setGain(gain theGain) {
00037   strcpy(this->gainString, getGainName(theGain));
00038 }
00039 
00040 CameraParameters::whiteBalance CameraParameters::getWhiteBalance() 
00041 {
00042   for (int whiteBalance = 0; whiteBalance < 3; whiteBalance++) 
00043   {
00044     if (
00045       strcmp( whiteBalanceString, 
00046       getWhiteBalanceName((CameraParameters::whiteBalance)whiteBalance) 
00047       ) == 0 ) return (CameraParameters::whiteBalance)whiteBalance;
00048   }
00049   return (CameraParameters::whiteBalance)0;
00050 }
00051 CameraParameters::shutterSpeed CameraParameters::getShutterSpeed() 
00052 {
00053   for (int shutterSpeed = 0; shutterSpeed < 3; shutterSpeed++) 
00054   {
00055     if (
00056       strcmp( shutterSpeedString, 
00057       getShutterSpeedName((CameraParameters::shutterSpeed)shutterSpeed) 
00058       ) == 0 ) return (CameraParameters::shutterSpeed)shutterSpeed;
00059   }
00060   return (CameraParameters::shutterSpeed)0;
00061 }
00062 CameraParameters::gain CameraParameters::getGain() 
00063 {
00064   for (int gain = 0; gain < 3; gain++) 
00065   {
00066     if (
00067       strcmp( gainString, 
00068       getGainName((CameraParameters::gain)gain) 
00069       ) == 0 ) return (CameraParameters::gain)gain;
00070   }
00071   return (CameraParameters::gain)0;
00072 }
00073 
00074 /*
00075 In& operator>>(In& stream,CameraParameters& cameraParameters)
00076 {
00077   int whiteBalance;
00078   int shutterSpeed;
00079   int gain;
00080 
00081   char whiteBalanceString[20];
00082   char shutterSpeedString[20];
00083   char gainString[20];
00084 
00085   stream >> whiteBalanceString >> shutterSpeedString >> gainString;
00086 
00087   for (whiteBalance = 0; whiteBalance < 3; whiteBalance++) 
00088   {
00089     if (
00090       strcmp( whiteBalanceString, 
00091       cameraParameters.getWhiteBalanceName((CameraParameters::whiteBalance)whiteBalance) 
00092       ) == 0 ) break;
00093   }
00094 
00095   for (shutterSpeed = 0; shutterSpeed < 3; shutterSpeed++) 
00096   {
00097     if (
00098       strcmp( shutterSpeedString, 
00099       cameraParameters.getShutterSpeedName((CameraParameters::shutterSpeed)shutterSpeed) 
00100       ) == 0 ) break;
00101   }
00102 
00103   for (gain = 0; gain < 3; gain++) 
00104   {
00105     if (
00106       strcmp( gainString, 
00107       cameraParameters.getGainName((CameraParameters::gain)gain) 
00108       ) == 0 ) break;
00109   }
00110 
00111   cameraParameters.theWhiteBalance = (CameraParameters::whiteBalance)whiteBalance;
00112   cameraParameters.theShutterSpeed = (CameraParameters::shutterSpeed)shutterSpeed;
00113   cameraParameters.theGain = (CameraParameters::gain)gain;
00114 
00115   return stream;
00116 }
00117 */
00118 
00119                                      
00120 /* ////////////ALT
00121 Out& operator<<(Out& stream, const CameraParameters& cameraParameters)
00122 {
00123   stream << (int) cameraParameters.theWhiteBalance <<
00124             (int) cameraParameters.theShutterSpeed <<
00125             (int) cameraParameters.theGain;
00126   return stream;
00127 }
00128 */
00129 
00130 /*
00131 Out& operator<<(Out& stream, const CameraParameters& cameraParameters)
00132 {
00133   stream << 
00134     cameraParameters.getWhiteBalanceName(cameraParameters.theWhiteBalance) <<
00135     cameraParameters.getShutterSpeedName(cameraParameters.theShutterSpeed) <<
00136     cameraParameters.getGainName(cameraParameters.theGain);
00137   return stream;
00138 }
00139 */

Generated on Mon Mar 20 22:00:02 2006 for GT2005 by doxygen 1.3.6