00001
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef INC_RVC_SPOTOBJ_H
00032 #define INC_RVC_SPOTOBJ_H
00033
00034 #ifndef INC_RVC_OBJECT_H
00035 #include <rvc/object.h>
00036 #endif
00037
00038 struct CTRLPOINT3;
00039
00040 namespace RVC {
00041
00042 class SPOTHANDLE;
00043
00044 class SPOTOBJ : public RVC::OBJECT {
00045 public:
00046
00048 struct ANGULARRATE {
00049 int line;
00050 int yaw_axis;
00051 int roll_axis;
00052 int pitch_axis;
00053 };
00054
00056 struct SPOTANGULARINFO {
00057 ANGULARRATE *Rate;
00058 int NumElem;
00059 };
00060
00062 SPOTOBJ (
00063 );
00064
00066 SPOTOBJ (
00067 const RVC::SPOTOBJ& obj
00068 );
00069
00071 virtual ~SPOTOBJ (
00072 );
00073
00075 RVC::SPOTOBJ& operator= (
00076 const RVC::SPOTOBJ& rhs
00077 );
00078
00080 ERRVALUE GetGRSIdentification (
00081 int& K,
00082 int& J
00083 );
00084
00086 ERRVALUE GetCenterLatLonPosition (
00087 CTRLPOINT3& Center
00088 );
00089
00091 ERRVALUE GetSceneCorners (
00092 CTRLPOINT3 Corner[4]
00093 );
00094
00101 ERRVALUE GetImageOrientation (
00102 double& Angle
00103 );
00104
00111 ERRVALUE GetAngleOfIncidence (
00112 double& Angle
00113 );
00114
00118 ERRVALUE GetSunAngles (
00119 double& Azimuth,
00120 double& Elevation
00121 );
00122
00124 ERRVALUE GetViewingDate (
00125 DATETIME& ViewDate
00126 );
00127
00129 ERRVALUE GetSatelliteID (
00130 MISTRING& Name
00131 );
00132
00134 ERRVALUE GetInstrumentName (
00135 MISTRING& Name
00136 );
00137
00139 ERRVALUE GetSpectralMode (
00140 MISTRING& ModeName
00141 );
00142
00144 ERRVALUE GetSpectralModePCode (
00145 MISTRING& PCode
00146 );
00147
00149 ERRVALUE GetRevolutionNumber (
00150 int& Rev
00151 );
00152
00154 ERRVALUE GetNumLinesColumns (
00155 int& numlins,
00156 int& numcols
00157 );
00158
00160 ERRVALUE GetPreprocessingLevel (
00161 MISTRING& Name
00162 );
00163
00165 ERRVALUE GetMapProjection (
00166 MISTRING& Name
00167 );
00168
00170 ERRVALUE GetMapOrigin (
00171 DPOINT2D& Pos
00172 );
00173
00186 ERRVALUE GetCalibration (
00187 double& A1,
00188 double& A2,
00189 double& A3
00190 );
00191
00204 ERRVALUE GetEphemeris (
00205 DPOINT3D Pos[9],
00206 DPOINT3D Velocity[9],
00207 INT32 JulianDay[9],
00208 INT32 Seconds[9]
00209 );
00210
00212 ERRVALUE GetJulianDate (
00213 int& day,
00214 double& seconds
00215 );
00216
00222 ERRVALUE GetAngularRates (
00223 SPOTANGULARINFO& Info
00224 );
00225
00235 ERRVALUE GetLookDirections (
00236 double Angles[4]
00237 );
00238
00240 ERRVALUE GetHistogram (
00241 int Num,
00242 INT32 H[256]
00243 );
00244
00245 private:
00246 #ifndef GENERATING_DOXYGEN_OUTPUT
00247
00249 virtual ERRVALUE v_CloseObject ();
00250 virtual OBJTYPE v_GetDftObjectType () const;
00251 virtual bool v_IsObjectOpen () const;
00252 virtual ERRVALUE v_OpenObject (OPENMODE OpenFlags, MDLGPARENT parent, const CREDENTIALS* Credentials);
00253 virtual bool v_ValidateObjectType (const OBJTYPE otype) const;
00254
00255 SPOTHANDLE* m_SpotHandle;
00256 #endif // GENERATING_DOXYGEN_OUTPUT
00257 };
00258
00259 }
00260
00261 #endif