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__

LizardTech