OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Ephemeris.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 #ifndef Ephemeride_h
13 #define Ephemeride_h
14 
16 #include <otb/JSDDateTime.h>
17 
18 class ossimKeywordlist;
19 
20 namespace ossimplugins
21 {
22 
23 
29 {
30 public:
34  Ephemeris();
35 
39  virtual ~Ephemeris();
40 
44  Ephemeris(JSDDateTime date, double pos[3], double speed[3]);
48  Ephemeris(const Ephemeris& rhs);
49 
53  Ephemeris& operator=(const Ephemeris& rhs);
54 
58  virtual Ephemeris* Clone()
59  {
60  return new Ephemeris(*this);
61  }
62 
64  {
65  return _date;
66  }
67 
68  double* get_position()
69  {
70  return _position;
71  }
72 
73  const double* get_position() const
74  {
75  return _position;
76  }
77 
78  double* get_speed()
79  {
80  return _speed;
81  }
82 
83  const double* get_speed() const
84  {
85  return _speed;
86  }
87 
88  void set_date(JSDDateTime date)
89  {
90  _date = date;
91  }
92 
93  void set_position(double position[3])
94  {
95  _position[0] = position[0];
96  _position[1] = position[1];
97  _position[2] = position[2];
98  }
99 
100  void set_speed(double speed[3])
101  {
102  _speed[0] = speed[0];
103  _speed[1] = speed[1];
104  _speed[2] = speed[2];
105  }
106 
113  bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
114 
120  bool loadState (const ossimKeywordlist &kwl, const char *prefix=0);
121 
122 protected:
123 
125  double _position[3];
126  double _speed[3];
127 private:
128 };
129 }
130 
131 #endif
void set_position(double position[3])
Definition: Ephemeris.h:93
Represents serializable keyword/value map.
void set_speed(double speed[3])
Definition: Ephemeris.h:100
void set_date(JSDDateTime date)
Definition: Ephemeris.h:88
double * get_speed()
Definition: Ephemeris.h:78
This class represents an ephemeris.
Definition: Ephemeris.h:28
double * get_position()
Definition: Ephemeris.h:68
virtual Ephemeris * Clone()
This function creatse a copy of the current class.
Definition: Ephemeris.h:58
#define OSSIM_PLUGINS_DLL
const double * get_speed() const
Definition: Ephemeris.h:83
JSDDateTime get_date() const
Definition: Ephemeris.h:63
const double * get_position() const
Definition: Ephemeris.h:73
This class represents a date.
Definition: JSDDateTime.h:30