MrSID Decode SDK for LiDAR Reference Manual  1.1.2.4045
PointReader.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_POINT_READER_H__
13 #define __LIDAR_POINT_READER_H__
14 
15 #include "lidar/PointSource.h"
16 #include "lidar/IO.h"
17 
18 LT_BEGIN_LIDAR_NAMESPACE
19 
20 
27 class PointReader : public PointSource
28 {
29  ABSTRACT_OBJECT(PointReader);
30 public:
31  const PointInfo &getPointInfo(void) const;
32 
33  count_type getNumPoints(void) const;
34  const char *getWKT(void) const;
35 
43  virtual const char *getFileFormatString(void) const = 0;
44 
45  const Bounds &getBounds(void) const;
46  const double *getScale(void) const;
47  const double *getOffset(void) const;
48 
49  char const * const *getClassIdNames(void) const;
50  size_t getNumClassIdNames(void) const;
51 
52  double getTotalWork(const Bounds &bounds, double fraction) const;
53 
54 protected:
65  void setPointInfo(const PointInfo &pointInfo);
76  void setNumPoints(count_type numPoints);
87  void setBounds(const Bounds &bounds);
98  void setWKT(const char *wkt);
112  void setQuantization(const double scale[3], const double offset[3]);
113 
114 private:
115  PointInfo m_pointInfo;
116  count_type m_numPoints;
117  char *m_wkt;
118  Bounds m_bounds;
119  double m_scale[3];
120  double m_offset[3];
121 };
122 
123 LT_END_LIDAR_NAMESPACE
124 #endif // __LIDAR_POINT_READER_H__
void setBounds(const Bounds &bounds)
Set the bounding box of the point cloud.
const char * getWKT(void) const
Get the spatial reference system.
count_type getNumPoints(void) const
Get the number of points.
const double * getScale(void) const
Get the quantization scale.
void setWKT(const char *wkt)
Set the spatial reference system.
const PointInfo & getPointInfo(void) const
Get the point information.
Bounds is a 3-dimensional bounding box.
Definition: Types.h:127
const Bounds & getBounds(void) const
Get the bounding box.
PointSource is the base class of LiDAR point cloud extraction pipeline.
Definition: PointSource.h:40
PointInfo is a group of ChannelInfo objects.
Definition: PointData.h:171
void setNumPoints(count_type numPoints)
Set the number of points in the point cloud.
const double * getOffset(void) const
Get the quantization offset.
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
void setQuantization(const double scale[3], const double offset[3])
Set the quantization scale and offset.
virtual const char * getFileFormatString(void) const =0
Get the file type and version.
double getTotalWork(const Bounds &bounds, double fraction) const
Get the amount of work needed to decode bounds.
lt_int64 count_type
Definition: PointSource.h:44
char const *const * getClassIdNames(void) const
Get the classification names.
void setPointInfo(const PointInfo &pointInfo)
Set the point information.

LizardTech