Isis 3.0 Developer's Reference (API) |
Home |
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