ext
laslib
inc
laswaveform13reader.hpp
Go to the documentation of this file.
1
/*
2
===============================================================================
3
4
FILE: laswaveform13reader.hpp
5
6
CONTENTS:
7
8
Interface to read the Waveform Data Packets that are associated with points
9
of type 4 and 5 in LAS 1.3.
10
11
PROGRAMMERS:
12
13
martin.isenburg@gmail.com
14
15
COPYRIGHT:
16
17
(c) 2007-2011, Martin Isenburg, LASSO - tools to catch reality
18
19
This is free software; you can redistribute and/or modify it under the
20
terms of the GNU Lesser General Licence as published by the Free Software
21
Foundation. See the COPYING file for more information.
22
23
This software is distributed WITHOUT ANY WARRANTY and without even the
24
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
25
26
CHANGE HISTORY:
27
28
17 October 2011 -- created after bauarbeiter on the roof next door woke me
29
30
===============================================================================
31
*/
32
#ifndef LAS_WAVEFORM_13_READER_HPP
33
#define LAS_WAVEFORM_13_READER_HPP
34
35
#include "
lasdefinitions.hpp
"
36
37
class
ByteStreamIn
;
38
class
LASwaveformDescription
;
39
class
ArithmeticDecoder
;
40
class
IntegerCompressor
;
41
42
class
LASwaveform13reader
43
{
44
public
:
45
U32
nbits
;
46
U32
nsamples
;
47
U32
temporal
;
48
F32
location
;
49
F32
XYZt
[3];
50
F64
XYZreturn
[3];
51
52
F64
XYZsample
[3];
53
54
U32
s_count
;
55
U32
sample
;
56
57
U32
sampleMin
;
58
U32
sampleMax
;
59
60
U8
*
samples
;
61
62
BOOL
open
(
const
char
* file_name,
I64
start_of_waveform_data_packet_record
,
const
LASvlr_wave_packet_descr
*
const
*
wave_packet_descr
);
63
BOOL
is_compressed
()
const
;
64
65
BOOL
read_waveform
(
const
LASpoint
* point);
66
67
BOOL
get_samples
();
68
BOOL
has_samples
();
69
70
BOOL
get_samples_xyz
();
71
BOOL
has_samples_xyz
();
72
73
void
close
();
74
75
LASwaveform13reader
();
76
~LASwaveform13reader
();
77
78
private
:
79
BOOL
compressed
;
80
U32
size
;
81
const
LASvlr_wave_packet_descr
*
const
*
wave_packet_descr
;
82
FILE*
file
;
83
ByteStreamIn
*
stream
;
84
I64
start_of_waveform_data_packet_record
;
85
I64
last_position
;
86
ArithmeticDecoder
*
dec
;
87
IntegerCompressor
*
ic8
;
88
IntegerCompressor
*
ic16
;
89
};
90
91
#endif
LASwaveform13reader::stream
ByteStreamIn * stream
Definition:
laswaveform13reader.hpp:83
LASwaveform13reader::XYZreturn
F64 XYZreturn[3]
Definition:
laswaveform13reader.hpp:50
LASwaveform13reader::~LASwaveform13reader
~LASwaveform13reader()
Definition:
laswaveform13reader.cpp:67
LASwaveform13reader::nbits
U32 nbits
Definition:
laswaveform13reader.hpp:45
LASpoint
Definition:
lasdefinitions.hpp:472
LASwaveform13reader::temporal
U32 temporal
Definition:
laswaveform13reader.hpp:47
LASwaveform13reader::open
BOOL open(const char *file_name, I64 start_of_waveform_data_packet_record, const LASvlr_wave_packet_descr *const *wave_packet_descr)
Definition:
laswaveform13reader.cpp:80
I64
long long I64
Definition:
mydefs.hpp:48
F64
double F64
Definition:
mydefs.hpp:52
LASvlr_wave_packet_descr
Definition:
lasdefinitions.hpp:917
LASwaveform13reader::last_position
I64 last_position
Definition:
laswaveform13reader.hpp:85
LASwaveform13reader::get_samples
BOOL get_samples()
Definition:
laswaveform13reader.cpp:342
LASwaveformDescription
Definition:
laswaveform13writer.cpp:37
LASwaveform13reader::compressed
BOOL compressed
Definition:
laswaveform13reader.hpp:79
LASwaveform13reader::get_samples_xyz
BOOL get_samples_xyz()
Definition:
laswaveform13reader.cpp:386
LASwaveform13reader::sampleMax
U32 sampleMax
Definition:
laswaveform13reader.hpp:58
LASwaveform13reader::size
U32 size
Definition:
laswaveform13reader.hpp:80
LASwaveform13reader::LASwaveform13reader
LASwaveform13reader()
Definition:
laswaveform13reader.cpp:37
LASwaveform13reader::s_count
U32 s_count
Definition:
laswaveform13reader.hpp:54
ArithmeticDecoder
Definition:
arithmeticdecoder.hpp:39
LASwaveform13reader::read_waveform
BOOL read_waveform(const LASpoint *point)
Definition:
laswaveform13reader.cpp:257
LASwaveform13reader::location
F32 location
Definition:
laswaveform13reader.hpp:48
LASwaveform13reader::XYZt
F32 XYZt[3]
Definition:
laswaveform13reader.hpp:49
LASwaveform13reader::ic16
IntegerCompressor * ic16
Definition:
laswaveform13reader.hpp:88
ByteStreamIn
Definition:
bytestreamin.hpp:36
LASwaveform13reader::samples
U8 * samples
Definition:
laswaveform13reader.hpp:60
LASwaveform13reader::XYZsample
F64 XYZsample[3]
Definition:
laswaveform13reader.hpp:52
LASwaveform13reader::file
FILE * file
Definition:
laswaveform13reader.hpp:82
LASwaveform13reader::sampleMin
U32 sampleMin
Definition:
laswaveform13reader.hpp:57
LASwaveform13reader::ic8
IntegerCompressor * ic8
Definition:
laswaveform13reader.hpp:87
U8
unsigned char U8
Definition:
mydefs.hpp:41
BOOL
int BOOL
Definition:
mydefs.hpp:57
LASwaveform13reader
Definition:
laswaveform13reader.hpp:42
F32
float F32
Definition:
mydefs.hpp:51
LASwaveform13reader::start_of_waveform_data_packet_record
I64 start_of_waveform_data_packet_record
Definition:
laswaveform13reader.hpp:84
LASwaveform13reader::nsamples
U32 nsamples
Definition:
laswaveform13reader.hpp:46
LASwaveform13reader::sample
U32 sample
Definition:
laswaveform13reader.hpp:55
U32
unsigned int U32
Definition:
mydefs.hpp:39
LASwaveform13reader::is_compressed
BOOL is_compressed() const
Definition:
laswaveform13reader.cpp:75
LASwaveform13reader::has_samples_xyz
BOOL has_samples_xyz()
Definition:
laswaveform13reader.cpp:412
LASwaveform13reader::has_samples
BOOL has_samples()
Definition:
laswaveform13reader.cpp:368
lasdefinitions.hpp
IntegerCompressor
Definition:
integercompressor.hpp:53
LASwaveform13reader::wave_packet_descr
const LASvlr_wave_packet_descr *const * wave_packet_descr
Definition:
laswaveform13reader.hpp:81
LASwaveform13reader::dec
ArithmeticDecoder * dec
Definition:
laswaveform13reader.hpp:86
LASwaveform13reader::close
void close()
Definition:
laswaveform13reader.cpp:434
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