laswriteitemcompressed_v2.hpp
Go to the documentation of this file.
1 /*
2 ===============================================================================
3 
4  FILE: laswriteitemcompressed_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_WRITE_ITEM_COMPRESSED_V2_HPP
32 #define LAS_WRITE_ITEM_COMPRESSED_V2_HPP
33 
34 #include "laswriteitem.hpp"
35 #include "entropyencoder.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  BOOL write(const 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  BOOL write(const U8* item);
79 
81 
82 private:
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  BOOL write(const 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  BOOL write(const U8* item);
126 
128 
129 private:
133 
134  EntropyModel** m_byte;
135 };
136 
137 #endif
LASwriteItemCompressed_RGB12_v2::init
BOOL init(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:485
LASwriteItemCompressed_POINT10_v2
Definition: laswriteitemcompressed_v2.hpp:40
LASwriteItemCompressed_BYTE_v2::init
BOOL init(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:715
laszip_common_v2.hpp
LASwriteItemCompressed_POINT10_v2::m_changed_values
EntropyModel * m_changed_values
Definition: laswriteitemcompressed_v2.hpp:59
LASwriteItemCompressed_POINT10_v2::m_scan_angle_rank
EntropyModel * m_scan_angle_rank[2]
Definition: laswriteitemcompressed_v2.hpp:61
LASwriteItemCompressed_POINT10_v2::last_height
I32 last_height[8]
Definition: laswriteitemcompressed_v2.hpp:57
LASwriteItemCompressed_POINT10_v2::ic_dy
IntegerCompressor * ic_dy
Definition: laswriteitemcompressed_v2.hpp:67
LASwriteItemCompressed_GPSTIME11_v2::enc
EntropyEncoder * enc
Definition: laswriteitemcompressed_v2.hpp:83
LASwriteItemCompressed_POINT10_v2::m_bit_byte
EntropyModel * m_bit_byte[256]
Definition: laswriteitemcompressed_v2.hpp:63
laswriteitem.hpp
LASwriteItemCompressed_POINT10_v2::last_y_diff_median5
StreamingMedian5 last_y_diff_median5[16]
Definition: laswriteitemcompressed_v2.hpp:56
I32
int I32
Definition: mydefs.hpp:35
LASwriteItemCompressed_POINT10_v2::ic_z
IntegerCompressor * ic_z
Definition: laswriteitemcompressed_v2.hpp:68
LASwriteItemCompressed_RGB12_v2
Definition: laswriteitemcompressed_v2.hpp:94
LASwriteItemCompressed_BYTE_v2::~LASwriteItemCompressed_BYTE_v2
~LASwriteItemCompressed_BYTE_v2()
Definition: laswriteitemcompressed_v2.cpp:704
LASwriteItemCompressed_POINT10_v2::ic_dx
IntegerCompressor * ic_dx
Definition: laswriteitemcompressed_v2.hpp:66
LASwriteItemCompressed_BYTE_v2::last_item
U8 * last_item
Definition: laswriteitemcompressed_v2.hpp:132
LASwriteItemCompressed_RGB12_v2::write
BOOL write(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:503
LASwriteItemCompressed_GPSTIME11_v2
Definition: laswriteitemcompressed_v2.hpp:71
LASwriteItemCompressed_BYTE_v2
Definition: laswriteitemcompressed_v2.hpp:118
LASwriteItemCompressed_GPSTIME11_v2::last_gpstime_diff
I32 last_gpstime_diff[4]
Definition: laswriteitemcompressed_v2.hpp:86
LASwriteItemCompressed_RGB12_v2::m_rgb_diff_5
EntropyModel * m_rgb_diff_5
Definition: laswriteitemcompressed_v2.hpp:115
LASwriteItemCompressed_GPSTIME11_v2::LASwriteItemCompressed_GPSTIME11_v2
LASwriteItemCompressed_GPSTIME11_v2(EntropyEncoder *enc)
Definition: laswriteitemcompressed_v2.cpp:246
entropyencoder.hpp
LASwriteItemCompressed_RGB12_v2::~LASwriteItemCompressed_RGB12_v2
~LASwriteItemCompressed_RGB12_v2()
Definition: laswriteitemcompressed_v2.cpp:474
LASwriteItemCompressed_POINT10_v2::ic_intensity
IntegerCompressor * ic_intensity
Definition: laswriteitemcompressed_v2.hpp:60
LASwriteItemCompressed_RGB12_v2::enc
EntropyEncoder * enc
Definition: laswriteitemcompressed_v2.hpp:106
LASwriteItemCompressed_POINT10_v2::last_x_diff_median5
StreamingMedian5 last_x_diff_median5[16]
Definition: laswriteitemcompressed_v2.hpp:55
LASwriteItemCompressed_GPSTIME11_v2::ic_gpstime
IntegerCompressor * ic_gpstime
Definition: laswriteitemcompressed_v2.hpp:91
LASwriteItemCompressed_RGB12_v2::m_rgb_diff_4
EntropyModel * m_rgb_diff_4
Definition: laswriteitemcompressed_v2.hpp:114
LASwriteItemCompressed_GPSTIME11_v2::m_gpstime_multi
EntropyModel * m_gpstime_multi
Definition: laswriteitemcompressed_v2.hpp:89
LASwriteItemCompressed_GPSTIME11_v2::last_gpstime
U64I64F64 last_gpstime[4]
Definition: laswriteitemcompressed_v2.hpp:85
LASwriteItemCompressed_GPSTIME11_v2::next
U32 next
Definition: laswriteitemcompressed_v2.hpp:84
LASwriteItemCompressed_GPSTIME11_v2::last
U32 last
Definition: laswriteitemcompressed_v2.hpp:84
LASwriteItemCompressed_BYTE_v2::number
U32 number
Definition: laswriteitemcompressed_v2.hpp:131
LASwriteItemCompressed_POINT10_v2::~LASwriteItemCompressed_POINT10_v2
~LASwriteItemCompressed_POINT10_v2()
Definition: laswriteitemcompressed_v2.cpp:84
LASwriteItemCompressed_RGB12_v2::m_byte_used
EntropyModel * m_byte_used
Definition: laswriteitemcompressed_v2.hpp:109
U16
unsigned short U16
Definition: mydefs.hpp:40
LASwriteItemCompressed
Definition: laswriteitem.hpp:65
LASwriteItemCompressed_POINT10_v2::write
BOOL write(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:139
LASwriteItemCompressed_GPSTIME11_v2::~LASwriteItemCompressed_GPSTIME11_v2
~LASwriteItemCompressed_GPSTIME11_v2()
Definition: laswriteitemcompressed_v2.cpp:257
LASwriteItemCompressed_RGB12_v2::m_rgb_diff_2
EntropyModel * m_rgb_diff_2
Definition: laswriteitemcompressed_v2.hpp:112
LASwriteItemCompressed_RGB12_v2::m_rgb_diff_1
EntropyModel * m_rgb_diff_1
Definition: laswriteitemcompressed_v2.hpp:111
LASwriteItemCompressed_POINT10_v2::last_item
U8 last_item[20]
Definition: laswriteitemcompressed_v2.hpp:53
U8
unsigned char U8
Definition: mydefs.hpp:41
BOOL
int BOOL
Definition: mydefs.hpp:57
U64I64F64
Definition: mydefs.hpp:61
LASwriteItemCompressed_GPSTIME11_v2::init
BOOL init(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:264
LASwriteItemCompressed_GPSTIME11_v2::m_gpstime_0diff
EntropyModel * m_gpstime_0diff
Definition: laswriteitemcompressed_v2.hpp:90
LASwriteItemCompressed_POINT10_v2::enc
EntropyEncoder * enc
Definition: laswriteitemcompressed_v2.hpp:52
LASwriteItemCompressed_POINT10_v2::m_classification
EntropyModel * m_classification[256]
Definition: laswriteitemcompressed_v2.hpp:64
LASwriteItemCompressed_GPSTIME11_v2::write
BOOL write(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:290
integercompressor.hpp
StreamingMedian5
Definition: laszip_common_v2.hpp:35
LASwriteItemCompressed_POINT10_v2::last_intensity
U16 last_intensity[16]
Definition: laswriteitemcompressed_v2.hpp:54
LASwriteItemCompressed_BYTE_v2::m_byte
EntropyModel ** m_byte
Definition: laswriteitemcompressed_v2.hpp:134
LASwriteItemCompressed_POINT10_v2::ic_point_source_ID
IntegerCompressor * ic_point_source_ID
Definition: laswriteitemcompressed_v2.hpp:62
LASwriteItemCompressed_POINT10_v2::init
BOOL init(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:104
LASwriteItemCompressed_RGB12_v2::m_rgb_diff_3
EntropyModel * m_rgb_diff_3
Definition: laswriteitemcompressed_v2.hpp:113
LASwriteItemCompressed_BYTE_v2::write
BOOL write(const U8 *item)
Definition: laswriteitemcompressed_v2.cpp:731
LASwriteItemCompressed_GPSTIME11_v2::multi_extreme_counter
I32 multi_extreme_counter[4]
Definition: laswriteitemcompressed_v2.hpp:87
LASwriteItemCompressed_POINT10_v2::LASwriteItemCompressed_POINT10_v2
LASwriteItemCompressed_POINT10_v2(EntropyEncoder *enc)
Definition: laswriteitemcompressed_v2.cpp:59
LASwriteItemCompressed_RGB12_v2::last_item
U16 last_item[3]
Definition: laswriteitemcompressed_v2.hpp:107
U32
unsigned int U32
Definition: mydefs.hpp:39
LASwriteItemCompressed_BYTE_v2::enc
EntropyEncoder * enc
Definition: laswriteitemcompressed_v2.hpp:130
LASwriteItemCompressed_RGB12_v2::m_rgb_diff_0
EntropyModel * m_rgb_diff_0
Definition: laswriteitemcompressed_v2.hpp:110
LASwriteItemCompressed_BYTE_v2::LASwriteItemCompressed_BYTE_v2
LASwriteItemCompressed_BYTE_v2(EntropyEncoder *enc, U32 number)
Definition: laswriteitemcompressed_v2.cpp:683
LASwriteItemCompressed_POINT10_v2::m_user_data
EntropyModel * m_user_data[256]
Definition: laswriteitemcompressed_v2.hpp:65
EntropyEncoder
Definition: entropyencoder.hpp:38
IntegerCompressor
Definition: integercompressor.hpp:53
LASwriteItemCompressed_RGB12_v2::LASwriteItemCompressed_RGB12_v2
LASwriteItemCompressed_RGB12_v2(EntropyEncoder *enc)
Definition: laswriteitemcompressed_v2.cpp:458


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 Wed Mar 2 2022 00:37:23