00001 /*!@file Devices/cameraConf.C [put description here] */ 00002 00003 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Devices/cameraConf.C $ 00004 // $Id: cameraConf.C 6182 2006-01-31 18:41:41Z rjpeters $ 00005 00006 #include "Devices/cameraConf.H" 00007 00008 cameraConf::cameraConf() 00009 { 00010 readconfig.openFile("camera.conf"); 00011 init(); 00012 } 00013 cameraConf::cameraConf(std::string fileName) 00014 { 00015 readconfig.openFile(fileName.c_str()); 00016 init(); 00017 } 00018 00019 void cameraConf::init() 00020 { 00021 // size of field of view in pixels 00022 Xpixel = (unsigned int)readconfig.getItemValueF("Xpixel"); 00023 // size of field of view in pixels 00024 Ypixel = (unsigned int)readconfig.getItemValueF("Ypixel"); 00025 // size of field of view in degrees 00026 Xfield = readconfig.getItemValueF("Xfield"); 00027 // size of field of view in degrees 00028 Yfield = readconfig.getItemValueF("Yfield"); 00029 00030 // pixel size in millimeters 00031 pixelSizeMM = readconfig.getItemValueF("pixelSizeMM"); 00032 00033 // focal length in millimeters 00034 focalLengthMM = readconfig.getItemValueF("focalLengthMM"); 00035 00036 // pan offset in millimeters 00037 panOffsetMM = readconfig.getItemValueF("panOffsetMM"); 00038 // tilt offset in millimeters 00039 tiltOffsetMM = readconfig.getItemValueF("tiltOffsetMM"); 00040 00041 // camera center in degrees 00042 Xcenter = readconfig.getItemValueF("Xcenter"); 00043 // camera center in degrees 00044 Ycenter = readconfig.getItemValueF("Ycenter"); 00045 // servo pixels per degree 00046 servoPixels = readconfig.getItemValueF("servoPixels"); 00047 // default travel speed from 0 to 1 00048 travelSpeed = readconfig.getItemValueF("travelSpeed"); 00049 // the time it takes to travel 90 degrees of arc (linear) in ms 00050 travelTime = (int)readconfig.getItemValueF("travelTime"); 00051 // Minimum time for any travel 00052 minTravelTime = (int)readconfig.getItemValueF("minTravelTime"); 00053 // center camera at start 1 = yes 00054 startCenterCamera = (unsigned int)readconfig.getItemValueF("startCenterCamera"); 00055 // center camera at finish 00056 finishCenterCamera = (unsigned int)readconfig.getItemValueF("finishCenterCamera"); 00057 // servo connections on SSC 00058 SSCXconnector = (unsigned int)readconfig.getItemValueF("SSCXconnector"); 00059 // servo connections on SSC 00060 SSCYconnector = (unsigned int)readconfig.getItemValueF("SSCYconnector"); 00061 // baud tranfer rate 2400 or 9600 only 00062 SSCbaud = (unsigned int)readconfig.getItemValueF("SSCbaud"); 00063 // SSC serial port device; 00064 SSCport = readconfig.getItemValueS("SSCport"); 00065 // X Travel Limit in degrees 00066 XlimitStart = readconfig.getItemValueF("XlimitStart"); 00067 // X Travel Limit in degrees 00068 XlimitEnd = readconfig.getItemValueF("XlimitEnd"); 00069 // Y Travel Limit in degrees 00070 YlimitStart = readconfig.getItemValueF("YlimitStart"); 00071 // Y Travel Limit in degrees 00072 YlimitEnd = readconfig.getItemValueF("YlimitEnd"); 00073 // manual field adjustment 00074 fieldAdjustmentX = readconfig.getItemValueF("fieldAdjustmentX"); 00075 // manual field adjustment 00076 fieldAdjustmentY = readconfig.getItemValueF("fieldAdjustmentY"); 00077 // field size in pixels 00078 pixelField = readconfig.getItemValueF("pixelField"); 00079 // Pan calibration in degrees 00080 panCalibrate = readconfig.getItemValueF("panCalibrate"); 00081 // Tilt calibration in degrees 00082 tiltCalibrate = readconfig.getItemValueF("tiltCalibrate"); 00083 // Tilt calibration in degrees 00084 minMove = readconfig.getItemValueF("minMove"); 00085 cameraCalibrationPan.resize(4,0); 00086 cameraCalibrationPan[0] = readconfig.getItemValueF("camera1Pan")-90; 00087 cameraCalibrationPan[1] = readconfig.getItemValueF("camera2Pan")-90; 00088 cameraCalibrationPan[2] = readconfig.getItemValueF("camera3Pan")-90; 00089 cameraCalibrationPan[3] = readconfig.getItemValueF("camera4Pan")-90; 00090 cameraCalibrationTilt.resize(4,0); 00091 cameraCalibrationTilt[0] = readconfig.getItemValueF("camera1Tilt")-90; 00092 cameraCalibrationTilt[1] = readconfig.getItemValueF("camera2Tilt")-90; 00093 cameraCalibrationTilt[2] = readconfig.getItemValueF("camera3Tilt")-90; 00094 cameraCalibrationTilt[3] = readconfig.getItemValueF("camera4Tilt")-90; 00095 00096 } 00097 00098 cameraConf::~cameraConf() 00099 {} 00100 00101 // ###################################################################### 00102 /* So things look consistent in everyone's emacs... */ 00103 /* Local Variables: */ 00104 /* indent-tabs-mode: nil */ 00105 /* End: */