lasreaditemcompressed_v2.hpp
Go to the documentation of this file.
1 /*
2 ===============================================================================
3 
4  FILE: lasreaditemcompressed_v2.hpp
5 
6  CONTENTS:
7 
8  Implementation of LASitemReadCompressed for *all* items (version 2).
9 
10  PROGRAMMERS:
11 
12  martin.isenburg@gmail.com
13 
14  COPYRIGHT:
15 
16  (c) 2010-2011, Martin Isenburg, LASSO - tools to catch reality
17 
18  This is free software; you can redistribute and/or modify it under the
19  terms of the GNU Lesser General Licence as published by the Free Software
20  Foundation. See the COPYING file for more information.
21 
22  This software is distributed WITHOUT ANY WARRANTY and without even the
23  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24 
25  CHANGE HISTORY:
26 
27  5 March 2011 -- created first night in ibiza to improve the RGB compressor
28 
29 ===============================================================================
30 */
31 #ifndef LAS_READ_ITEM_COMPRESSED_V2_HPP
32 #define LAS_READ_ITEM_COMPRESSED_V2_HPP
33 
34 #include "lasreaditem.hpp"
35 #include "entropydecoder.hpp"
36 #include "integercompressor.hpp"
37 
38 #include "laszip_common_v2.hpp"
39 
41 {
42 public:
43 
45 
46  BOOL init(const U8* item);
47  void read(U8* item);
48 
50 
51 private:
58 
59  EntropyModel* m_changed_values;
61  EntropyModel* m_scan_angle_rank[2];
63  EntropyModel* m_bit_byte[256];
64  EntropyModel* m_classification[256];
65  EntropyModel* m_user_data[256];
69 };
70 
72 {
73 public:
74 
76 
77  BOOL init(const U8* item);
78  void read(U8* item);
79 
81 
82 private:
84  U32 last, next;
85  U64I64F64 last_gpstime[4];
86  I32 last_gpstime_diff[4];
87  I32 multi_extreme_counter[4];
88 
89  EntropyModel* m_gpstime_multi;
90  EntropyModel* m_gpstime_0diff;
92 };
93 
95 {
96 public:
97 
99 
100  BOOL init(const U8* item);
101  void read(U8* item);
102 
104 
105 private:
108 
109  EntropyModel* m_byte_used;
110  EntropyModel* m_rgb_diff_0;
111  EntropyModel* m_rgb_diff_1;
112  EntropyModel* m_rgb_diff_2;
113  EntropyModel* m_rgb_diff_3;
114  EntropyModel* m_rgb_diff_4;
115  EntropyModel* m_rgb_diff_5;
116 };
117 
119 {
120 public:
121 
123 
124  BOOL init(const U8* item);
125  void read(U8* item);
126 
128 
129 private:
133 
134  EntropyModel** m_byte;
135 };
136 
137 #endif
int BOOL
Definition: mydefs.hpp:57
unsigned int U32
Definition: mydefs.hpp:39
unsigned short U16
Definition: mydefs.hpp:40
LASreadItemCompressed_POINT10_v2(EntropyDecoder *dec)
unsigned char U8
Definition: mydefs.hpp:41
int I32
Definition: mydefs.hpp:35


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:07