MrSID Decode SDK for LiDAR Reference Manual  1.1.2.4045
MG4PointReader.h
Go to the documentation of this file.
1 /* //////////////////////////////////////////////////////////////////////////
2 // //
3 // This code is Copyright (c) 2008-2010 LizardTech, Inc, 1008 Western //
4 // Avenue, Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
5 // prohibited. Access to and use of this code is permitted only under //
6 // license from LizardTech, Inc. Portions of the code are protected by //
7 // US and foreign patents and other filings. All Rights Reserved. //
8 // //
10 /* PUBLIC */
11 
12 #ifndef __LIDAR_MG4_POINT_READER_H__
13 #define __LIDAR_MG4_POINT_READER_H__
14 
15 #include "lidar/PointReader.h"
16 #include "lidar/Stream.h"
17 
18 LT_BEGIN_LIDAR_NAMESPACE
19 
20 class WaveletDecoderInfo;
21 
31 {
32  CONCRETE_OBJECT(MG4PointReader);
33 public:
41  void init(const char *path);
49  void init(IO *io);
50 
51  void loadMetadata(Metadata &metadata, bool sanitize) const;
52 
53  char const * const *getClassIdNames(void) const;
54  size_t getNumClassIdNames(void) const;
55 
56  const char *getFileFormatString(void) const;
57 
58  double getTotalWork(const Bounds &bounds, double fraction) const;
59  PointIterator *createIterator(const Bounds &bounds,
60  double fraction,
61  const PointInfo &pointInfo,
62  ProgressDelegate *delegate) const;
63 
64 protected:
65  char m_version[32];
66 
67  WaveletDecoderInfo *m_waveletInfo;
69  char **m_classId;
70  size_t m_numClasses;
71 };
72 
73 LT_END_LIDAR_NAMESPACE
74 #endif // __LIDAR_MG4_POINT_READER_H__
char m_version[32]
WaveletDecoderInfo * m_waveletInfo
Metadata is a container for storing metadata about the point cloud.
Definition: Metadata.h:64
Bounds is a 3-dimensional bounding box.
Definition: Types.h:127
PointIterator * createIterator(const Bounds &bounds, double fraction, const PointInfo &pointInfo, ProgressDelegate *delegate) const
Get a PointIterator for a given bounds.
ProgressDelegate is the base class for progress and interrupt reporting.
PointInfo is a group of ChannelInfo objects.
Definition: PointData.h:171
void loadMetadata(Metadata &metadata, bool sanitize) const
Load the point clouds metadata.
Location is a helper structure for holding the location of data in a IO object.
Definition: IO.h:111
size_t getNumClassIdNames(void) const
Get the number of classification names.
PointReader is the base class for reading LiDAR file formats.
Definition: PointReader.h:27
double getTotalWork(const Bounds &bounds, double fraction) const
Get the amount of work needed to decode bounds.
char const *const * getClassIdNames(void) const
Get the classification names.
MG4PointReader reads LiDAR-based MrSID files.
void init(const char *path)
Initalize with a filename.
IO::Location m_metadata
IO is the base class for binary input and output.
Definition: IO.h:30
const char * getFileFormatString(void) const
Get the file type and version.
PointIterator is the base class for accessing the point cloud.
Definition: PointIterator.h:31

LizardTech