USGS

Isis 3.0 Developer's Reference (API)

Home

CameraDistortionMap.h

Go to the documentation of this file.
00001 
00023 #ifndef CameraDistortionMap_h
00024 #define CameraDistortionMap_h
00025 
00026 #include <vector>
00027 #include "Camera.h"
00028 
00029 namespace Isis {
00048   class CameraDistortionMap {
00049     public:
00050       CameraDistortionMap(Camera *parent, double zDirection = 1.0);
00051 
00052       void SetDistortion(const int naifIkCode);
00053 
00055       virtual ~CameraDistortionMap() {};
00056 
00057       virtual bool SetFocalPlane(const double dx, const double dy);
00058 
00059       virtual bool SetUndistortedFocalPlane(const double ux, const double uy);
00060 
00062       inline double FocalPlaneX() const {
00063         return p_focalPlaneX;
00064       };
00065 
00067       inline double FocalPlaneY() const {
00068         return p_focalPlaneY;
00069       };
00070 
00072       inline double UndistortedFocalPlaneX() const {
00073         return p_undistortedFocalPlaneX;
00074       };
00075 
00077       inline double UndistortedFocalPlaneY() const {
00078         return p_undistortedFocalPlaneY;
00079       };
00080 
00082       inline double UndistortedFocalPlaneZ() const {
00083         return p_zDirection * p_camera->FocalLength();
00084       };
00085 
00086     protected:
00087       Camera *p_camera;
00088 
00089       double p_focalPlaneX;
00090       double p_focalPlaneY;
00091       double p_undistortedFocalPlaneX;
00092       double p_undistortedFocalPlaneY;
00093       double p_zDirection;
00094 
00095       std::vector<double> p_odk;
00096   };
00097 };
00098 #endif