MrSID Decode SDK for LiDAR Reference Manual 1.1.4.4709

- Main Page
- Classes
- Files

- File List
- File Members

PointSource.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_SOURCE_H__
13 #define __LIDAR_POINT_SOURCE_H__
14
15 #include "lidar/Metadata.h"
16 #include "lidar/PointIterator.h"
17 #include "lidar/ProgressDelegate.h"
18
19 LT_BEGIN_LIDAR_NAMESPACE
20
40 class PointSource : public Object
41 {
42 ABSTRACT_OBJECT(PointSource);
43 public:
44 typedef lt_int64 count_type;
45
51 virtual const PointInfo &getPointInfo(void) const = 0;
52
59 size_t getNumChannels(void) const;
60
69 bool hasChannel(const char *name) const;
70
80 const ChannelInfo &getChannel(size_t idx) const;
81
91 const ChannelInfo *getChannel(const char *name) const;
92
98 virtual count_type getNumPoints(void) const = 0;
99
107 virtual const char *getWKT(void) const = 0;
108
120 virtual void loadMetadata(Metadata &metadata,
121 bool sanitize) const = 0;
122
128 virtual const Bounds &getBounds(void) const = 0;
129
137 virtual const double *getScale(void) const = 0;
138
146 virtual const double *getOffset(void) const = 0;
147
153 virtual size_t getNumClassIdNames(void) const = 0;
154
161 virtual char const * const *getClassIdNames(void) const = 0;
162
176 virtual double getTotalWork(const Bounds &bounds,
177 double fraction) const = 0;
178
192 virtual PointIterator *createIterator(const Bounds &bounds,
193 double fraction,
194 const PointInfo &pointInfo,
195 ProgressDelegate *delegate) const = 0;
196
205 size_t read(const Bounds &bounds,
206 PointData &points,
207 ProgressDelegate *delegate) const;
208 };
209
210 LT_END_LIDAR_NAMESPACE
211 #endif // __LIDAR_POINT_SOURCE_H__

LizardTech