OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimFormosatModel.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // "Copyright Centre National d'Etudes Spatiales"
4 //
5 // License: LGPL
6 //
7 // See LICENSE.txt file in the top level directory for more details.
8 //
9 //----------------------------------------------------------------------------
10 // $Id$
11 
12 
13 
14 #ifndef ossimFormosatModel_HEADER
15 #define ossimFormosatModel_HEADER
16 
17 #include <iostream>
18 using namespace std;
19 
22 #include <ossim/base/ossimIpt.h>
24 #include <ossim/base/ossimGpt.h>
25 #include <ossim/base/ossimDpt.h>
29 
31 
32 namespace ossimplugins
33 {
35 {
36 public:
42  ossimFormosatModel(const ossimFilename& init_file);
43  ossimFormosatModel(const ossimKeywordlist& geom_kwl);
45 
46  virtual ~ossimFormosatModel();
47 
49  {
50  ROLL_OFFSET = 0,
57  NUM_ADJUSTABLE_PARAMS // not an index
58  };
59 
64  virtual ossimObject* dup() const;
65 
69  virtual std::ostream& print(std::ostream& out) const;
70 
75  virtual bool saveState(ossimKeywordlist& kwl,
76  const char* prefix=NULL) const;
77 
78  virtual bool loadState(const ossimKeywordlist& kwl,
79  const char* prefix=NULL);
80 
85  static void writeGeomTemplate(ostream& os);
86 
90  virtual void lineSampleHeightToWorld(const ossimDpt& image_point,
91  const ossim_float64& heightEllipsoid,
92  ossimGpt& worldPoint) const;
93 
98  virtual void imagingRay(const ossimDpt& image_point,
99  ossimEcefRay& image_ray) const;
100 
106  virtual void updateModel();
107 
111  inline virtual bool useForward()const {return false;}
112  virtual bool setupOptimizer(const ossimString& init_file);
113 
114  bool initFromMetadata(ossimFormosatDimapSupportData* sd);
115 protected:
116 
120  void initAdjustableParameters();
121 
122  void loadGeometry(FILE*);
123  void loadSupportData();
124  //void computeSatToOrbRotation(ossim_float64 t)const;
125  void computeSatToOrbRotation(NEWMAT::Matrix& result, ossim_float64 t)const;
126 
127 /* virtual ossimDpt extrapolate (const ossimGpt& gp) const; */
128 /* virtual ossimGpt extrapolate (const ossimDpt& ip, */
129 /* const double& height=ossim::nan()) const; */
130 
132 
133  //---
134  // Image constant parameters:
135  //---
142 
145 
148 // mutable NEWMAT::Matrix theSatToOrbRotation;
149 // mutable NEWMAT::Matrix theOrbToEcfRotation;
150 
151  //---
152  // Adjustable parameters:
153  //---
157  ossim_float64 theRollRate; // degrees/sec
158  ossim_float64 thePitchRate; // degrees/sec
159  ossim_float64 theYawRate; // degrees/sec
160  ossim_float64 theFocalLenOffset; // percent deviation from nominal
161 
162 
163 TYPE_DATA
164 };
165 }
166 #endif /* #ifndef ossimFormosatModel_HEADER */
Represents serializable keyword/value map.
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
ossimRefPtr< ossimFormosatDimapSupportData > theSupportData
double ossim_float64
#define TYPE_DATA
Definition: ossimRtti.h:339
#define OSSIM_PLUGINS_DLL
ossim_float64 theRefImagingTimeLine
relative to full image
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23