12 #ifndef __LIDAR_POINT_SOURCE_H__
13 #define __LIDAR_POINT_SOURCE_H__
19 LT_BEGIN_LIDAR_NAMESPACE
107 virtual const char *
getWKT(
void)
const = 0;
121 bool sanitize)
const = 0;
137 virtual const double *
getScale(
void)
const = 0;
146 virtual const double *
getOffset(
void)
const = 0;
177 double fraction)
const = 0;
210 LT_END_LIDAR_NAMESPACE
211 #endif // __LIDAR_POINT_SOURCE_H__
virtual size_t getNumClassIdNames(void) const =0
Get the number of classification names.
size_t getNumChannels(void) const
Get the number of channels.
const ChannelInfo & getChannel(size_t idx) const
Access the channel info.
Metadata is a container for storing metadata about the point cloud.
ChannelInfo stores the basic properties of a channel.
Bounds is a 3-dimensional bounding box.
virtual count_type getNumPoints(void) const =0
Get the number of points.
ProgressDelegate is the base class for progress and interrupt reporting.
PointSource is the base class of LiDAR point cloud extraction pipeline.
PointInfo is a group of ChannelInfo objects.
virtual void loadMetadata(Metadata &metadata, bool sanitize) const =0
Load the point clouds metadata.
Object is the base class for implementing reference counting.
virtual const double * getScale(void) const =0
Get the quantization scale.
PointData is a group of ChannelData objects.
virtual const Bounds & getBounds(void) const =0
Get the bounding box.
virtual char const *const * getClassIdNames(void) const =0
Get the classification names.
virtual const double * getOffset(void) const =0
Get the quantization offset.
virtual const char * getWKT(void) const =0
Get the spatial reference system.
virtual const PointInfo & getPointInfo(void) const =0
Get the point information.
size_t read(const Bounds &bounds, PointData &points, ProgressDelegate *delegate) const
Fill the point buffer with the best sample of the point cloud in bounds.
virtual double getTotalWork(const Bounds &bounds, double fraction) const =0
Get the amount of work needed to decode bounds.
virtual PointIterator * createIterator(const Bounds &bounds, double fraction, const PointInfo &pointInfo, ProgressDelegate *delegate) const =0
Get a PointIterator for a given bounds.
bool hasChannel(const char *name) const
Determine if there is a channel with a given name.
long long int lt_int64
signed 64-bit integer
PointIterator is the base class for accessing the point cloud.