laswritepoint.hpp
Go to the documentation of this file.
1 /*
2 ===============================================================================
3 
4  FILE: LASwritePoint.hpp
5 
6  CONTENTS:
7 
8  Common interface for the classes that write points raw or compressed.
9 
10  PROGRAMMERS:
11 
12  martin.isenburg@gmail.com
13 
14  COPYRIGHT:
15 
16  (c) 2007-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  6 October 2011 -- large file support & reading with missing chunk table
28  9 May 2011 -- the chunked compressor now allows variable chunk sizes
29  25 April 2011 -- added chunked laszip for random access decompression
30  10 January 2011 -- licensing change for LGPL release and liblas integration
31  7 December 2010 -- adapted from LASpointWriter for better code modularity
32  3 December 2010 -- updated to (somewhat) support LAS format 1.3
33  7 September 2008 -- updated to support LAS format 1.2
34  22 February 2007 -- created about an hour before henna's birthday
35 
36 ===============================================================================
37 */
38 #ifndef LAS_WRITE_POINT_H
39 #define LAS_WRITE_POINT_H
40 
41 #include "mydefs.hpp"
42 #include "laszip.hpp"
43 #include "bytestreamout.hpp"
44 
45 class LASwriteItem;
46 class EntropyEncoder;
47 
49 {
50 public:
51  LASwritePoint();
53 
54  // should only be called *once*
55  BOOL setup(const U32 num_items, const LASitem* items, const LASzip* laszip=0);
56 
58  BOOL write(const U8 * const * point);
59  BOOL chunk();
60  BOOL done();
61 
62 private:
69  // used for chunking
80 };
81 
82 #endif
LASwritePoint::add_chunk_to_table
BOOL add_chunk_to_table()
Definition: laswritepoint.cpp:311
LASwritePoint::writers_compressed
LASwriteItem ** writers_compressed
Definition: laswritepoint.hpp:67
LASwritePoint::chunk_table_start_position
I64 chunk_table_start_position
Definition: laswritepoint.hpp:77
LASwritePoint::alloced_chunks
U32 alloced_chunks
Definition: laswritepoint.hpp:73
LASwritePoint::num_writers
U32 num_writers
Definition: laswritepoint.hpp:64
I64
long long I64
Definition: mydefs.hpp:48
LASzip
Definition: laszip.hpp:80
LASwritePoint::write
BOOL write(const U8 *const *point)
Definition: laswritepoint.cpp:243
LASwritePoint::~LASwritePoint
~LASwritePoint()
Definition: laswritepoint.cpp:388
LASwritePoint::chunk
BOOL chunk()
Definition: laswritepoint.cpp:276
LASwritePoint::write_chunk_table
BOOL write_chunk_table()
Definition: laswritepoint.cpp:338
ByteStreamOut
Definition: bytestreamout.hpp:36
LASitem
Definition: laszip.hpp:70
LASwritePoint::writers_raw
LASwriteItem ** writers_raw
Definition: laswritepoint.hpp:66
mydefs.hpp
LASwritePoint::enc
EntropyEncoder * enc
Definition: laswritepoint.hpp:68
bytestreamout.hpp
LASwritePoint::number_chunks
U32 number_chunks
Definition: laswritepoint.hpp:72
LASwritePoint::chunk_start_position
I64 chunk_start_position
Definition: laswritepoint.hpp:76
LASwritePoint::chunk_count
U32 chunk_count
Definition: laswritepoint.hpp:71
U8
unsigned char U8
Definition: mydefs.hpp:41
BOOL
int BOOL
Definition: mydefs.hpp:57
LASwritePoint
Definition: laswritepoint.hpp:48
LASwritePoint::chunk_sizes
U32 * chunk_sizes
Definition: laswritepoint.hpp:74
LASwritePoint::LASwritePoint
LASwritePoint()
Definition: laswritepoint.cpp:42
LASwritePoint::done
BOOL done()
Definition: laswritepoint.cpp:289
LASwritePoint::chunk_size
U32 chunk_size
Definition: laswritepoint.hpp:70
LASwritePoint::setup
BOOL setup(const U32 num_items, const LASitem *items, const LASzip *laszip=0)
Definition: laswritepoint.cpp:61
U32
unsigned int U32
Definition: mydefs.hpp:39
LASwritePoint::outstream
ByteStreamOut * outstream
Definition: laswritepoint.hpp:63
LASwritePoint::init
BOOL init(ByteStreamOut *outstream)
Definition: laswritepoint.cpp:204
LASwritePoint::chunk_bytes
U32 * chunk_bytes
Definition: laswritepoint.hpp:75
LASwriteItem
Definition: laswriteitem.hpp:39
EntropyEncoder
Definition: entropyencoder.hpp:38
laszip.hpp
LASwritePoint::writers
LASwriteItem ** writers
Definition: laswritepoint.hpp:65


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