OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimIpodSensor.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 ossimIpodSensor_HEADER
13 #define ossimIpodSensor_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 ossimIpodSensor(*this);
43  }
44 
45  virtual void imagingRay(const ossimDpt& image_point,
46  ossimEcefRay& image_ray) const;
47 
48  void lineSampleHeightToWorld(const ossimDpt& image_point,
49  const double& heightEllipsoid,
50  ossimGpt& worldPoint) const;
51  // virtual void worldToLineSample(const ossimGpt& world_point,
52  // ossimDpt& image_point) const;
53  virtual void updateModel();
54 
55  void setRollPitchYaw(double r, double p, double y)
56  {
57  m_roll = r;
58  m_pitch = p;
59  m_yaw = y;
60  }
61  void setFocalLength(double value)
62  {
63  m_focalLength = value;
64  }
65  void setPlatformPosition(const ossimGpt& value)
66  {
67  m_platformPosition = value;
68  m_ecefPlatformPosition = value;
69  }
70 
71  void setPrincipalPoint(const ossimDpt& value)
72  {
73  m_principalPoint = value;
74  }
75  void setPixelSize(const ossimDpt& value)
76  {
77  m_pixelSize = value;
78  }
79  inline virtual bool useForward()const {return true;}
80 
81  virtual void initAdjustableParameters();
82  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
83  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0)const;
84 
85 protected:
86  NEWMAT::Matrix m_air2Ned;
87  NEWMAT::Matrix m_ecef2Ned;
88  NEWMAT::Matrix m_ecef2NedInverse;
89 
90  NEWMAT::Matrix m_composite;
91  NEWMAT::Matrix m_compositeInverse;
92 
93  double m_roll;
94  double m_pitch;
95  double m_yaw;
96  ossimDpt m_principalPoint; // in meters
97  ossimDpt m_pixelSize; // in meters
98  double m_focalLength; // in meters
102  double m_fovIntrack;
104 
106  TYPE_DATA
107 };
108 
109 #endif
110 
virtual ossimObject * dup() const
ossimGpt m_platformPositionEllipsoid
ossimEcefPoint m_ecefPlatformPosition
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Represents serializable keyword/value map.
ossim_uint32 y
void setPrincipalPoint(const ossimDpt &value)
void setRollPitchYaw(double r, double p, double y)
ossimDpt m_pixelSize
NEWMAT::Matrix m_composite
ossimDpt m_principalPoint
void setFocalLength(double value)
#define TYPE_DATA
Definition: ossimRtti.h:339
NEWMAT::Matrix m_compositeInverse
ossimGpt m_platformPosition
NEWMAT::Matrix m_air2Ned
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()
ossimIpodSensor(const ossimIpodSensor &src)
virtual bool useForward() const
#define OSSIM_DLL
ossimGpt m_adjustedPlatformPosition
NEWMAT::Matrix m_ecef2NedInverse
void setPixelSize(const ossimDpt &value)
void setPlatformPosition(const ossimGpt &value)
NEWMAT::Matrix m_ecef2Ned