|
Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef CameraFocalPlaneMap_h 00002 #define CameraFocalPlaneMap_h 00003 00027 namespace Isis { 00028 class Camera; 00092 class CameraFocalPlaneMap { 00093 public: 00094 CameraFocalPlaneMap(Camera *parent, const int naifIkCode); 00095 CameraFocalPlaneMap(const int naifIkCode); 00096 virtual ~CameraFocalPlaneMap(); 00097 00098 virtual bool SetDetector(const double sample, const double line); 00099 virtual bool SetFocalPlane(const double dx, const double dy); 00100 00101 double FocalPlaneX() const; 00102 double FocalPlaneY() const; 00103 double DetectorSample() const; 00104 double DetectorLine() const; 00105 double CenteredDetectorSample() const; 00106 double CenteredDetectorLine() const; 00107 void SetDetectorOrigin(const double sample, const double line); 00108 double DetectorLineOrigin() const; 00109 double DetectorSampleOrigin() const; 00110 void SetDetectorOffset(const double sampleOffset, 00111 const double lineOffset); 00112 double DetectorLineOffset() const; 00113 double DetectorSampleOffset() const; 00114 const double *TransX() const; 00115 const double *TransY() const; 00116 const double *TransS() const; 00117 const double *TransL() const; 00118 00123 enum FocalPlaneXDependencyType { 00124 Sample = 1, 00125 Line = 2 00126 }; 00127 00128 // FocalPlaneXDependencyType FocalPlaneXDependency(); 00129 int FocalPlaneXDependency(); 00130 double SignMostSigX(); 00131 double SignMostSigY(); 00132 00133 protected: 00134 void ComputeCentered(); 00135 void ComputeUncentered(); 00136 00137 Camera *p_camera; 00138 00139 double p_detectorLineOrigin; 00140 double p_detectorSampleOrigin; 00141 00142 double p_focalPlaneX; 00143 double p_focalPlaneY; 00144 double p_detectorLine; 00145 double p_detectorSample; 00146 double p_centeredDetectorSample; 00147 double p_centeredDetectorLine; 00148 00149 double p_detectorLineOffset; 00150 double p_detectorSampleOffset; 00151 00152 double p_transx[3]; 00153 double p_transy[3]; 00154 double p_itranss[3]; 00155 double p_itransl[3]; 00156 00157 private: 00158 void Init(Camera *parent, const int naifIkCode); 00159 }; 00160 }; 00161 #endif