PointReader is the base class for reading LiDAR file formats. More...
#include <PointReader.h>
Public Member Functions | |
const PointInfo & | getPointInfo (void) const |
Get the point information. | |
count_type | getNumPoints (void) const |
Get the number of points. | |
const char * | getWKT (void) const |
Get the spatial reference system. | |
virtual const char * | getFileFormatString (void) const =0 |
Get the file type and version. | |
const Bounds & | getBounds (void) const |
Get the bounding box. | |
const double * | getScale (void) const |
Get the quantization scale. | |
const double * | getOffset (void) const |
Get the quantization offset. | |
char const *const * | getClassIdNames (void) const |
Get the classification names. | |
size_t | getNumClassIdNames (void) const |
Get the number of classification names. | |
double | getTotalWork (const Bounds &bounds, double fraction) const |
Get the amount of work needed to decode bounds. | |
Protected Member Functions | |
PointReader (void) | |
virtual | ~PointReader (void) |
void | setPointInfo (const PointInfo &pointInfo) |
Set the point information. | |
void | setNumPoints (count_type numPoints) |
Set the number of points in the point cloud. | |
void | setBounds (const Bounds &bounds) |
Set the bounding box of the point cloud. | |
void | setWKT (const char *wkt) |
Set the spatial reference system. | |
void | setQuantization (const double scale[3], const double offset[3]) |
Set the quantization scale and offset. |
The PointReader class is the base class for reading LiDAR file formats. It add one method to the PointSource interface, getFileFormatString().
Definition at line 27 of file PointReader.h.
PointReader::PointReader | ( | void | ) | [protected] |
virtual PointReader::~PointReader | ( | void | ) | [protected, virtual] |
const Bounds& PointReader::getBounds | ( | void | ) | const [virtual] |
This method returns the geo bounding box of the point cloud.
Implements PointSource.
char const* const* PointReader::getClassIdNames | ( | void | ) | const [virtual] |
This methods returns an array of classification names with length getNumClassIdNames().
Implements PointSource.
Reimplemented in MG4PointReader.
virtual const char* PointReader::getFileFormatString | ( | void | ) | const [pure virtual] |
This method returns a string the contains the File Type and version of the PointReader. For example for a MrSID file this will will return "MG4 4.0.0.1".
Implemented in MG4PointReader, and TXTPointReader.
size_t PointReader::getNumClassIdNames | ( | void | ) | const [virtual] |
This methods returns the number of classification names.
Implements PointSource.
Reimplemented in MG4PointReader.
count_type PointReader::getNumPoints | ( | void | ) | const [virtual] |
This method returns the number of points in the point cloud.
Implements PointSource.
const double* PointReader::getOffset | ( | void | ) | const [virtual] |
This method returns the quantization offset for X, Y, and Z channels. It returns NULL then the point cloud is not quantized or quantization is unknown.
Implements PointSource.
const PointInfo& PointReader::getPointInfo | ( | void | ) | const [virtual] |
This method returns a PointInfo object.
Implements PointSource.
const double* PointReader::getScale | ( | void | ) | const [virtual] |
This method returns the quantization scale factors for X, Y, and Z channels. It returns NULL then the point cloud is not quantized or quantization is unknown.
Implements PointSource.
double PointReader::getTotalWork | ( | const Bounds & | bounds, | |
double | fraction | |||
) | const [virtual] |
This method returns the amount of work needed to decode the points in bounds. getTotalWork() is used with ProgressDelegate to track the progress of a decode or encode.
bounds | the region of interest | |
fraction | the fraction of the points you want (use 1.0 for all the points and use 0.1 to keep every tenth point) |
Implements PointSource.
Reimplemented in MG4PointReader, and TXTPointReader.
const char* PointReader::getWKT | ( | void | ) | const [virtual] |
This method returns the spatial reference system as a Well Known Text (WKT) string. If the PointSource does not have a spatial reference system it will return NULL.
Implements PointSource.
void PointReader::setBounds | ( | const Bounds & | bounds | ) | [protected] |
This method sets the bounding box of the point cloud. All subclasses must call this function in thier init() function.
bounds | the bounding box of the point cloud. |
void PointReader::setNumPoints | ( | count_type | numPoints | ) | [protected] |
This method sets the number of points in the point cloud. All subclasses must call this function in thier init() function.
numPoints | the number of points in the point cloud |
void PointReader::setPointInfo | ( | const PointInfo & | pointInfo | ) | [protected] |
This method sets the channel information. All subclasses must call this function in thier init() function.
pointInfo | the channel information |
void PointReader::setQuantization | ( | const double | scale[3], | |
const double | offset[3] | |||
) | [protected] |
This method sets the quantization scale and offset for the point cloud. If the data is not quantized do not call this function or call it with scale = NULL and offset = NULL.
scale | the quantization scale for the X, Y, and Z channels | |
offset | the offset for the X, Y, and Z channels |
void PointReader::setWKT | ( | const char * | wkt | ) | [protected] |
This method uses a Well Known Test (WKT) string to set the spatial reference system.
wkt | the WKT representation of the spatial reference system |
LizardTech |