ddt  0.1
ddtEncDec.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtEncDec.hpp
8 // @brief DDT EncDec. Base class for encoding / decoding of data samples.
9 //
10 // Base class for encoding / decoding of data samples.
11 //
12 // @author Christoph Bortlisz, CGI
13 // @since 2020/05/22
14 //
15 
16 #ifndef DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_HPP
17 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_HPP
18 
19 #include <sys/time.h>
20 
21 #include <iostream>
22 
34  float cd1_1;
35  float cd1_2;
36  float cd2_1;
37  float cd2_2;
39  std::string type_1;
40  std::string type_2;
41 };
42 
46 struct MetaDataBase {
47  uint32_t bytes_per_pixel;
49  std::string utc_timestamp;
53  uint32_t data_type;
54  std::string description;
55 };
56 
60 class DdtEncDec {
61  public:
65  explicit DdtEncDec();
69  virtual ~DdtEncDec() = 0;
70 
74  virtual void set_meta_data_length(const int mdl);
75 
79  void set_topic_id(const int ti);
80 
84  virtual int get_meta_data_length();
85 
89  virtual int get_topic_id();
90 
94  virtual uint32_t get_bytes_per_pixel() const;
95 
99  virtual uint32_t get_number_dimensions() const;
100 
104  virtual std::string get_utc_timestamp() const;
105 
109  virtual bool get_complete_flag() const;
110 
114  virtual bool get_last_segment() const;
115 
119  virtual bool get_byte_order_little_endian() const;
120 
124  virtual uint32_t get_data_type() const;
125 
129  virtual std::string get_description() const;
130 
134  virtual float get_reference_point_x() const;
135 
139  virtual float get_reference_point_y() const;
140 
144  virtual float get_ra_reference_point() const;
145 
149  virtual float get_dec_reference_point() const;
150 
154  virtual float get_arcsec_pixel_x() const;
155 
159  virtual float get_arcsec_pixel_y() const;
160 
164  virtual float get_rotation_x() const;
165 
169  virtual float get_cd1_1() const;
170 
174  virtual float get_cd1_2() const;
175 
179  virtual float get_cd2_1() const;
180 
184  virtual float get_cd2_2() const;
185 
189  virtual float get_epoch_equinox() const;
190 
194  virtual std::string get_type_1() const;
195 
199  virtual std::string get_type_2() const;
200 
201  protected:
205  std::string get_current_time() const;
206 
210  int topic_id = 0;
211 
216 };
217 
218 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_HPP
WcsInformation
Definition: ddtEncDec.hpp:26
MetaDataBase
Definition: ddtEncDec.hpp:46
DdtEncDec::set_topic_id
void set_topic_id(const int ti)
Definition: ddtEncDec.cpp:24
DdtEncDec::get_type_1
virtual std::string get_type_1() const
Definition: ddtEncDec.cpp:91
MetaDataBase::byte_order_little_endian
bool byte_order_little_endian
Definition: ddtEncDec.hpp:52
DdtEncDec::get_bytes_per_pixel
virtual uint32_t get_bytes_per_pixel() const
Definition: ddtEncDec.cpp:51
DdtEncDec::DdtEncDec
DdtEncDec()
WcsInformation::epoch_equinox
float epoch_equinox
Definition: ddtEncDec.hpp:38
DdtEncDec
Definition: ddtEncDec.hpp:60
DdtEncDec::get_type_2
virtual std::string get_type_2() const
Definition: ddtEncDec.cpp:93
MetaDataBase::bytes_per_pixel
uint32_t bytes_per_pixel
Definition: ddtEncDec.hpp:47
DdtEncDec::get_topic_id
virtual int get_topic_id()
Definition: ddtEncDec.cpp:28
DdtEncDec::get_arcsec_pixel_x
virtual float get_arcsec_pixel_x() const
Definition: ddtEncDec.cpp:75
DdtEncDec::get_data_type
virtual uint32_t get_data_type() const
Definition: ddtEncDec.cpp:63
MetaDataBase::complete_flag
bool complete_flag
Definition: ddtEncDec.hpp:50
DdtEncDec::get_utc_timestamp
virtual std::string get_utc_timestamp() const
Definition: ddtEncDec.cpp:55
DdtEncDec::get_description
virtual std::string get_description() const
Definition: ddtEncDec.cpp:65
DdtEncDec::get_arcsec_pixel_y
virtual float get_arcsec_pixel_y() const
Definition: ddtEncDec.cpp:77
WcsInformation::reference_point_y
float reference_point_y
Definition: ddtEncDec.hpp:28
WcsInformation::dec_reference_point
float dec_reference_point
Definition: ddtEncDec.hpp:30
MetaDataBase::description
std::string description
Definition: ddtEncDec.hpp:54
MetaDataBase::utc_timestamp
std::string utc_timestamp
Definition: ddtEncDec.hpp:49
DdtEncDec::get_cd1_2
virtual float get_cd1_2() const
Definition: ddtEncDec.cpp:83
DdtEncDec::get_byte_order_little_endian
virtual bool get_byte_order_little_endian() const
Definition: ddtEncDec.cpp:61
DdtEncDec::get_reference_point_x
virtual float get_reference_point_x() const
Definition: ddtEncDec.cpp:67
WcsInformation::reference_point_x
float reference_point_x
Definition: ddtEncDec.hpp:27
WcsInformation::type_1
std::string type_1
Definition: ddtEncDec.hpp:39
WcsInformation::cd2_2
float cd2_2
Definition: ddtEncDec.hpp:37
DdtEncDec::get_complete_flag
virtual bool get_complete_flag() const
Definition: ddtEncDec.cpp:57
DdtEncDec::get_number_dimensions
virtual uint32_t get_number_dimensions() const
Definition: ddtEncDec.cpp:53
DdtEncDec::get_dec_reference_point
virtual float get_dec_reference_point() const
Definition: ddtEncDec.cpp:73
DdtEncDec::topic_id
int topic_id
Definition: ddtEncDec.hpp:210
DdtEncDec::~DdtEncDec
virtual ~DdtEncDec()=0
MetaDataBase::number_dimensions
uint32_t number_dimensions
Definition: ddtEncDec.hpp:48
DdtEncDec::get_last_segment
virtual bool get_last_segment() const
Definition: ddtEncDec.cpp:59
DdtEncDec::get_cd1_1
virtual float get_cd1_1() const
Definition: ddtEncDec.cpp:81
DdtEncDec::set_meta_data_length
virtual void set_meta_data_length(const int mdl)
Definition: ddtEncDec.cpp:22
DdtEncDec::get_cd2_1
virtual float get_cd2_1() const
Definition: ddtEncDec.cpp:85
DdtEncDec::get_ra_reference_point
virtual float get_ra_reference_point() const
Definition: ddtEncDec.cpp:71
WcsInformation::rotation_x_axis
float rotation_x_axis
Definition: ddtEncDec.hpp:33
DdtEncDec::meta_data_length
int meta_data_length
Definition: ddtEncDec.hpp:215
WcsInformation::arcsec_pixel_y
float arcsec_pixel_y
Definition: ddtEncDec.hpp:32
WcsInformation::type_2
std::string type_2
Definition: ddtEncDec.hpp:40
WcsInformation::arcsec_pixel_x
float arcsec_pixel_x
Definition: ddtEncDec.hpp:31
WcsInformation::cd1_2
float cd1_2
Definition: ddtEncDec.hpp:35
DdtEncDec::get_meta_data_length
virtual int get_meta_data_length()
Definition: ddtEncDec.cpp:26
DdtEncDec::get_rotation_x
virtual float get_rotation_x() const
Definition: ddtEncDec.cpp:79
DdtEncDec::get_reference_point_y
virtual float get_reference_point_y() const
Definition: ddtEncDec.cpp:69
DdtEncDec::get_cd2_2
virtual float get_cd2_2() const
Definition: ddtEncDec.cpp:87
MetaDataBase::last_segment
bool last_segment
Definition: ddtEncDec.hpp:51
WcsInformation::ra_reference_point
float ra_reference_point
Definition: ddtEncDec.hpp:29
WcsInformation::cd2_1
float cd2_1
Definition: ddtEncDec.hpp:36
DdtEncDec::get_epoch_equinox
virtual float get_epoch_equinox() const
Definition: ddtEncDec.cpp:89
MetaDataBase::data_type
uint32_t data_type
Definition: ddtEncDec.hpp:53
WcsInformation::cd1_1
float cd1_1
Definition: ddtEncDec.hpp:34
DdtEncDec::get_current_time
std::string get_current_time() const
Definition: ddtEncDec.cpp:30