lasreader_qfit.hpp
Go to the documentation of this file.
1 /*
2 ===============================================================================
3 
4  FILE: lasreader_qfit.hpp
5 
6  CONTENTS:
7 
8  Reads LIDAR from NASA's ATM QFIT format via on-the-fly conversion to LAS.
9 
10  Format description: http://nsidc.org/data/docs/daac/icebridge/ilatm1b/docs/ReadMe.qfit.txt
11 
12  PROGRAMMERS:
13 
14  martin.isenburg@gmail.com
15 
16  COPYRIGHT:
17 
18  (c) 2007-2011, Martin Isenburg, LASSO - tools to catch reality
19 
20  This is free software; you can redistribute and/or modify it under the
21  terms of the GNU Lesser General Licence as published by the Free Software
22  Foundation. See the COPYING file for more information.
23 
24  This software is distributed WITHOUT ANY WARRANTY and without even the
25  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
26 
27  CHANGE HISTORY:
28 
29  22 December 2011 -- created after my banker keeps me hostage for 2.5 hours
30 
31 ===============================================================================
32 */
33 #ifndef LAS_READER_QFIT_HPP
34 #define LAS_READER_QFIT_HPP
35 
36 #include "lasreader.hpp"
37 
38 #include <stdio.h>
39 
40 class LASreaderQFIT : public LASreader
41 {
42 public:
43 
44  BOOL open(const char* file_name);
45 
46  I32 get_format() const { return LAS_TOOLS_FORMAT_QFIT; };
47 
48  BOOL seek(const I64 p_index);
49 
50  ByteStreamIn* get_stream() const;
51  void close(BOOL close_stream=TRUE);
52  BOOL reopen(const char* file_name);
53 
54  LASreaderQFIT();
55  virtual ~LASreaderQFIT();
56 
57 protected:
58  virtual BOOL open(ByteStreamIn* stream);
60 
61 private:
62  FILE* file;
68  I32 buffer[14];
74 };
75 
76 class LASreaderQFITrescale : public virtual LASreaderQFIT
77 {
78 public:
79  virtual BOOL open(ByteStreamIn* stream);
80  LASreaderQFITrescale(F64 x_scale_factor, F64 y_scale_factor, F64 z_scale_factor);
81 
82 protected:
84 };
85 
86 class LASreaderQFITreoffset : public virtual LASreaderQFIT
87 {
88 public:
89  virtual BOOL open(ByteStreamIn* stream);
90  LASreaderQFITreoffset(F64 x_offset, F64 y_offset, F64 z_offset);
91 protected:
92  F64 offset[3];
93 };
94 
96 {
97 public:
99  LASreaderQFITrescalereoffset(F64 x_scale_factor, F64 y_scale_factor, F64 z_scale_factor, F64 x_offset, F64 y_offset, F64 z_offset);
100 };
101 
102 #endif
LASreaderQFIT::little_endian
BOOL little_endian
Definition: lasreader_qfit.hpp:65
LAS_TOOLS_FORMAT_QFIT
#define LAS_TOOLS_FORMAT_QFIT
Definition: lasdefinitions.hpp:62
LASreaderQFITrescalereoffset::LASreaderQFITrescalereoffset
LASreaderQFITrescalereoffset(F64 x_scale_factor, F64 y_scale_factor, F64 z_scale_factor, F64 x_offset, F64 y_offset, F64 z_offset)
Definition: lasreader_qfit.cpp:481
LASreaderQFITreoffset::offset
F64 offset[3]
Definition: lasreader_qfit.hpp:92
LASreaderQFIT
Definition: lasreader_qfit.hpp:40
LASreaderQFIT::endian_swap
BOOL endian_swap
Definition: lasreader_qfit.hpp:66
lasreader.hpp
LASreaderQFIT::offset
I32 offset
Definition: lasreader_qfit.hpp:67
I64
long long I64
Definition: mydefs.hpp:48
F64
double F64
Definition: mydefs.hpp:52
I32
int I32
Definition: mydefs.hpp:35
TRUE
#define TRUE
Definition: mydefs.hpp:137
LASreaderQFITrescale::open
virtual BOOL open(ByteStreamIn *stream)
Definition: lasreader_qfit.cpp:436
LASreaderQFITrescale
Definition: lasreader_qfit.hpp:76
LASreaderQFIT::~LASreaderQFIT
virtual ~LASreaderQFIT()
Definition: lasreader_qfit.cpp:424
LASreaderQFITreoffset::open
virtual BOOL open(ByteStreamIn *stream)
Definition: lasreader_qfit.cpp:462
LASreaderQFITrescalereoffset
Definition: lasreader_qfit.hpp:95
LASreaderQFIT::read_point_default
BOOL read_point_default()
Definition: lasreader_qfit.cpp:293
LASreaderQFITrescalereoffset::open
BOOL open(ByteStreamIn *stream)
Definition: lasreader_qfit.cpp:485
LASreaderQFIT::reopen
BOOL reopen(const char *file_name)
Definition: lasreader_qfit.cpp:380
LASreaderQFIT::populated_header
BOOL populated_header
Definition: lasreader_qfit.hpp:69
LASreader
Definition: lasreader.hpp:49
LASreaderQFIT::close
void close(BOOL close_stream=TRUE)
Definition: lasreader_qfit.cpp:363
LASreaderQFIT::seek
BOOL seek(const I64 p_index)
Definition: lasreader_qfit.cpp:283
LASreaderQFITrescale::LASreaderQFITrescale
LASreaderQFITrescale(F64 x_scale_factor, F64 y_scale_factor, F64 z_scale_factor)
Definition: lasreader_qfit.cpp:429
LASreaderQFIT::buffer
I32 buffer[14]
Definition: lasreader_qfit.hpp:68
LASreaderQFIT::LASreaderQFIT
LASreaderQFIT()
Definition: lasreader_qfit.cpp:409
ByteStreamIn
Definition: bytestreamin.hpp:36
LASreaderQFITrescale::scale_factor
F64 scale_factor[3]
Definition: lasreader_qfit.hpp:83
LASreaderQFIT::get_format
I32 get_format() const
Definition: lasreader_qfit.hpp:46
LASreaderQFIT::file
FILE * file
Definition: lasreader_qfit.hpp:62
BOOL
int BOOL
Definition: mydefs.hpp:57
LASreaderQFIT::pulse_width_array_offset
I32 pulse_width_array_offset
Definition: lasreader_qfit.hpp:73
LASreaderQFITreoffset
Definition: lasreader_qfit.hpp:86
LASreaderQFIT::get_stream
ByteStreamIn * get_stream() const
Definition: lasreader_qfit.cpp:358
LASreaderQFIT::version
I32 version
Definition: lasreader_qfit.hpp:64
LASreaderQFIT::pitch_array_offset
I32 pitch_array_offset
Definition: lasreader_qfit.hpp:71
LASreaderQFIT::open
BOOL open(const char *file_name)
Definition: lasreader_qfit.cpp:43
LASreaderQFITreoffset::LASreaderQFITreoffset
LASreaderQFITreoffset(F64 x_offset, F64 y_offset, F64 z_offset)
Definition: lasreader_qfit.cpp:455
LASreaderQFIT::roll_array_offset
I32 roll_array_offset
Definition: lasreader_qfit.hpp:72
LASreaderQFIT::scan_azimuth_array_offset
I32 scan_azimuth_array_offset
Definition: lasreader_qfit.hpp:70
LASreaderQFIT::stream
ByteStreamIn * stream
Definition: lasreader_qfit.hpp:63


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