USGS

Isis 3.0 Object Programmers' Reference

Home

CameraFocalPlaneMap.h

Go to the documentation of this file.
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