MrSID Decode SDK for LiDAR Reference Manual  1.1.3.4427
PointReader Class Referenceabstract

PointReader is the base class for reading LiDAR file formats. More...

#include <PointReader.h>

Inheritance diagram for PointReader:
PointSource Object MG4PointReader TXTPointReader

Public Member Functions

const PointInfogetPointInfo (void) const
 Get the point information. More...
 
count_type getNumPoints (void) const
 Get the number of points. More...
 
const char * getWKT (void) const
 Get the spatial reference system. More...
 
void overrideWKT (const char *wkt)
 
virtual const char * getFileFormatString (void) const =0
 Get the file type and version. More...
 
const BoundsgetBounds (void) const
 Get the bounding box. More...
 
const double * getScale (void) const
 Get the quantization scale. More...
 
const double * getOffset (void) const
 Get the quantization offset. More...
 
char const *const * getClassIdNames (void) const
 Get the classification names. More...
 
size_t getNumClassIdNames (void) const
 Get the number of classification names. More...
 
double getTotalWork (const Bounds &bounds, double fraction) const
 Get the amount of work needed to decode bounds. More...
 
- Public Member Functions inherited from PointSource
size_t getNumChannels (void) const
 Get the number of channels. More...
 
bool hasChannel (const char *name) const
 Determine if there is a channel with a given name. More...
 
const ChannelInfogetChannel (size_t idx) const
 Access the channel info. More...
 
const ChannelInfogetChannel (const char *name) const
 Access the channel data. More...
 
virtual void loadMetadata (Metadata &metadata, bool sanitize) const =0
 Load the point clouds metadata. More...
 
virtual PointIteratorcreateIterator (const Bounds &bounds, double fraction, const PointInfo &pointInfo, ProgressDelegate *delegate) const =0
 Get a PointIterator for a given bounds. More...
 
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. More...
 
- Public Member Functions inherited from Object
void retain (void) const
 Increment the reference count by one. More...
 
void release (void) const
 Decrement the reference count by one. More...
 

Protected Member Functions

void setPointInfo (const PointInfo &pointInfo)
 Set the point information. More...
 
void setNumPoints (count_type numPoints)
 Set the number of points in the point cloud. More...
 
void setBounds (const Bounds &bounds)
 Set the bounding box of the point cloud. More...
 
void setWKT (const char *wkt)
 Set the spatial reference system. More...
 
void setQuantization (const double scale[3], const double offset[3])
 Set the quantization scale and offset. More...
 
- Protected Member Functions inherited from Object
 Object (void)
 
virtual ~Object (void)
 

Protected Attributes

bool m_ignoreNativeWKTMetadata
 

Additional Inherited Members

- Public Types inherited from PointSource
typedef lt_int64 count_type
 
- Static Protected Member Functions inherited from Object
static void * operator new (size_t size)
 Overide new so all Objects use ALLOC() More...
 
static void operator delete (void *ptr)
 Overide delete so all Objects use DEALLOC() More...
 

Detailed Description

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.

Member Function Documentation

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.

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 TXTPointReader, and MG4PointReader.

size_t PointReader::getNumClassIdNames ( void  ) const
virtual

This methods returns the number of classification names.

Implements PointSource.

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.

Parameters
boundsthe region of interest
fractionthe fraction of the points you want (use 1.0 for all the points and use 0.1 to keep every tenth point)
Returns
the work needed to decode bounds

Implements PointSource.

Reimplemented in 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::overrideWKT ( const char *  wkt)
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.

Parameters
boundsthe bounding box of the point cloud.
See Also
getBounds()
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.

Parameters
numPointsthe number of points in the point cloud
See Also
getNumPoints()
void PointReader::setPointInfo ( const PointInfo pointInfo)
protected

This method sets the channel information. All subclasses must call this function in thier init() function.

Parameters
pointInfothe channel information
See Also
getPointInfo()
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.

Parameters
scalethe quantization scale for the X, Y, and Z channels
offsetthe offset for the X, Y, and Z channels
See Also
getScale()
getOffset()
void PointReader::setWKT ( const char *  wkt)
protected

This method uses a Well Known Test (WKT) string to set the spatial reference system.

Parameters
wktthe WKT representation of the spatial reference system
See Also
getWKT()

Member Data Documentation

bool PointReader::m_ignoreNativeWKTMetadata
protected

Definition at line 130 of file PointReader.h.


The documentation for this class was generated from the following file:

LizardTech