ddt  0.1
ddtEncDecBiDim.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 ddtEncDecBiDim.hpp
8 // @brief DDT EncDecBiDim. Class to encode / decode bi-dimensional data samples.
9 //
10 // Class to encode / decode bi-dimensional data samples.
11 //
12 // @author Christoph Bortlisz, CGI
13 // @since 2020/05/22
14 //
15 
16 #ifndef DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_BIDIM_HPP
17 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_BIDIM_HPP
18 
19 #include <boost/interprocess/containers/vector.hpp>
20 
21 #include "MetaData.pb.h"
22 #include "ddt/ddtEncDec.hpp"
23 
24 namespace ip = boost::interprocess;
25 
36 class DdtEncDecBiDim : public DdtEncDec {
37  public:
41  explicit DdtEncDecBiDim();
42 
46  void decode(int length, std::vector<uint8_t> metaData);
47 
53  void encode(uint32_t bytes_per_pixel, bool complete_flag,
54  uint32_t number_pixels_x, uint32_t number_pixels_y,
55  bool byte_order_little_endian, int32_t binning_factor_x,
56  int32_t binning_factor_y, bool last_segment, uint32_t data_type,
57  uint32_t first_pixel_x, uint32_t first_pixel_y,
58  uint32_t number_chunks_x, uint32_t number_chunks_y,
59  uint32_t image_id);
60 
65 
69  std::vector<uint8_t> getMetaData();
70 
74  std::string getUtc_timestamp();
75 
79  uint32_t getBytes_per_pixel();
80 
84  bool getComplete_flag();
85 
89  uint32_t getNumber_pixels_x();
90 
94  uint32_t getNumber_pixels_y();
95 
100 
104  int32_t getBinning_factor_x();
105 
109  int32_t getBinning_factor_y();
110 
114  bool getLast_segment();
115 
119  uint32_t getData_type();
120 
124  uint32_t getFirst_pixel_x();
125 
129  uint32_t getFirst_pixel_y();
130 
134  uint32_t getNumber_chunks_x();
135 
139  uint32_t getNumber_chunks_y();
140 
144  uint32_t getImage_id();
145 
146  protected:
151  ddt::MetaDataBiDim metadataBiDim;
152 };
153 
154 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_BIDIM_HPP
DdtEncDecBiDim::getByte_order_little_endian
bool getByte_order_little_endian()
Definition: ddtEncDecBiDim.cpp:104
DdtEncDecBiDim::metadataBiDim
ddt::MetaDataBiDim metadataBiDim
Definition: ddtEncDecBiDim.hpp:151
DdtEncDecBiDim::getNumber_chunks_x
uint32_t getNumber_chunks_x()
Definition: ddtEncDecBiDim.cpp:128
DdtEncDec
Definition: ddtEncDec.hpp:26
DdtEncDecBiDim::getData_type
uint32_t getData_type()
Definition: ddtEncDecBiDim.cpp:118
DdtEncDecBiDim::getUtc_timestamp
std::string getUtc_timestamp()
Definition: ddtEncDecBiDim.cpp:84
DdtEncDecBiDim::getBinning_factor_x
int32_t getBinning_factor_x()
Definition: ddtEncDecBiDim.cpp:108
DdtEncDecBiDim::getImage_id
uint32_t getImage_id()
Definition: ddtEncDecBiDim.cpp:136
DdtEncDecBiDim::getNumber_pixels_x
uint32_t getNumber_pixels_x()
Definition: ddtEncDecBiDim.cpp:96
ddtEncDec.hpp
DdtEncDecBiDim::encode
void encode(uint32_t bytes_per_pixel, bool complete_flag, uint32_t number_pixels_x, uint32_t number_pixels_y, bool byte_order_little_endian, int32_t binning_factor_x, int32_t binning_factor_y, bool last_segment, uint32_t data_type, uint32_t first_pixel_x, uint32_t first_pixel_y, uint32_t number_chunks_x, uint32_t number_chunks_y, uint32_t image_id)
Definition: ddtEncDecBiDim.cpp:34
DdtEncDecBiDim::DdtEncDecBiDim
DdtEncDecBiDim()
Definition: ddtEncDecBiDim.cpp:18
DdtEncDecBiDim::getFirst_pixel_y
uint32_t getFirst_pixel_y()
Definition: ddtEncDecBiDim.cpp:124
DdtEncDecBiDim::getLast_segment
bool getLast_segment()
Definition: ddtEncDecBiDim.cpp:116
DdtEncDecBiDim::getNumber_chunks_y
uint32_t getNumber_chunks_y()
Definition: ddtEncDecBiDim.cpp:132
DdtEncDecBiDim::getBinning_factor_y
int32_t getBinning_factor_y()
Definition: ddtEncDecBiDim.cpp:112
DdtEncDecBiDim::getFirst_pixel_x
uint32_t getFirst_pixel_x()
Definition: ddtEncDecBiDim.cpp:120
DdtEncDecBiDim::~DdtEncDecBiDim
~DdtEncDecBiDim()
DdtEncDecBiDim::getComplete_flag
bool getComplete_flag()
Definition: ddtEncDecBiDim.cpp:92
DdtEncDecBiDim::getBytes_per_pixel
uint32_t getBytes_per_pixel()
Definition: ddtEncDecBiDim.cpp:88
DdtEncDecBiDim
Definition: ddtEncDecBiDim.hpp:36
DdtEncDecBiDim::getMetaData
std::vector< uint8_t > getMetaData()
Definition: ddtEncDecBiDim.cpp:70
DdtEncDecBiDim::decode
void decode(int length, std::vector< uint8_t > metaData)
Definition: ddtEncDecBiDim.cpp:23
DdtEncDecBiDim::getNumber_pixels_y
uint32_t getNumber_pixels_y()
Definition: ddtEncDecBiDim.cpp:100