OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimSkyBoxLearSensor.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts
6 //
7 // Description:
8 //
9 // SkyBox
10 //*******************************************************************
11 // $Id$
12 #ifndef ossimSkyBoxLearSensor_HEADER
13 #define ossimSkyBoxLearSensor_HEADER
14 #include "ossimSensorModel.h"
15 #include "ossimUtmProjection.h"
16 #include <ossim/base/ossimDpt3d.h>
18 {
19 public:
22  :ossimSensorModel(src),
23  m_air2Ned(src.m_air2Ned),
24  m_ecef2Ned(src.m_ecef2Ned),
25  m_ecef2NedInverse(src.m_ecef2NedInverse),
26  m_roll(src.m_roll),
27  m_pitch(src.m_pitch),
28  m_yaw(src.m_yaw),
29  m_principalPoint(src.m_principalPoint), // in meters
30  m_pixelSize(src.m_pixelSize), // in meters
31  m_focalLength(src.m_focalLength), // in meters
32  m_ecefPlatformPosition(src.m_ecefPlatformPosition),
33  m_platformPosition(src.m_platformPosition),
34  m_platformPositionEllipsoid(src.m_platformPositionEllipsoid),
35  m_fovIntrack(src.m_fovIntrack),
36  m_fovCrossTrack(src.m_fovCrossTrack),
37  m_adjustedPlatformPosition(src.m_adjustedPlatformPosition)
38  {
39  }
40  virtual ossimObject* dup()const
41  {
42  return new ossimSkyBoxLearSensor(*this);
43  }
44 
45  virtual void imagingRay(const ossimDpt& image_point,
46  ossimEcefRay& image_ray) const;
47 
48  virtual void lineSampeToWorld(const ossimDpt& image_point,
49  ossimGpt& worldPoint) const;
50 
51  virtual void lineSampleHeightToWorld(const ossimDpt& image_point,
52  const double& heightEllipsoid,
53  ossimGpt& worldPoint) const;
54  // virtual void worldToLineSample(const ossimGpt& world_point,
55  // ossimDpt& image_point) const;
56  virtual void updateModel();
57 
58  void setRollPitchYaw(double r, double p, double y)
59  {
60  m_roll = r;
61  m_pitch = p;
62  m_yaw = y;
63  }
64  void setFocalLength(double value)
65  {
66  m_focalLength = value;
67  }
68  void setPlatformPosition(const ossimGpt& value)
69  {
70  m_platformPosition = value;
71  m_ecefPlatformPosition = value;
72  }
73 
74  void setPrincipalPoint(const ossimDpt& value)
75  {
76  m_principalPoint = value;
77  }
78  void setPixelSize(const ossimDpt& value)
79  {
80  m_pixelSize = value;
81  }
82  inline virtual bool useForward()const {return true;}
83 
84  virtual void initAdjustableParameters();
85  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
86  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0)const;
87 
88 protected:
89  NEWMAT::Matrix m_air2Ned;
90  NEWMAT::Matrix m_ecef2Ned;
91  NEWMAT::Matrix m_ecef2NedInverse;
92  double m_roll;
93  double m_pitch;
94  double m_yaw;
95  ossimDpt m_principalPoint; // in meters
96  ossimDpt m_pixelSize; // in meters
97  double m_focalLength; // in meters
101  double m_fovIntrack;
103 
105  TYPE_DATA
106 };
107 
108 #endif
109 
void setPrincipalPoint(const ossimDpt &value)
void setPixelSize(const ossimDpt &value)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Represents serializable keyword/value map.
ossim_uint32 y
void setFocalLength(double value)
void setPlatformPosition(const ossimGpt &value)
ossimSkyBoxLearSensor(const ossimSkyBoxLearSensor &src)
virtual ossimObject * dup() const
#define TYPE_DATA
Definition: ossimRtti.h:339
void setRollPitchYaw(double r, double p, double y)
virtual void lineSampleHeightToWorld(const ossimDpt &lineSampPt, const double &heightEllipsoid, ossimGpt &worldPt) const =0
virtual void imagingRay(const ossimDpt &image_point, ossimEcefRay &image_ray) const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void updateModel()
virtual bool useForward() const
ossimEcefPoint m_ecefPlatformPosition
#define OSSIM_DLL
NEWMAT::Matrix m_ecef2NedInverse