MrSID Decode SDK for LiDAR Reference Manual  1.1.3.4427
PointWriter Class Reference

PointWriter is the base for writing LiDAR files. More...

#include <PointWriter.h>

Inheritance diagram for PointWriter:
Object SimplePointWriter TXTPointWriter

List of all members.

Public Types

typedef PointSource::count_type count_type

Public Member Functions

void setMetadata (const Metadata &metadata)
 Set the metadata.
MetadatagetMetadata (void)
 Get the Metadata.
virtual void setQuantization (const double scale[3], const double offset[3])=0
 Set the quantization.
virtual const double * getScale (void) const =0
 Get the quantization scale.
virtual const double * getOffset (void) const =0
 Get the quantization offset.
virtual count_type write (const Bounds &bounds, double fraction, const PointInfo &pointInfo, ProgressDelegate *delegate)=0
 Write out the point cloud.
void setChunckSize (size_t size)

Protected Member Functions

void init (const PointSource *src)
 Initalize the object.
const PointSourcegetSrc (void) const
 Get the input PointSource.
void groomMetadata (const Bounds &bounds, double fraction)
 Remove metadata that is inappropriate for the given bounds and fraction.
size_t getChunckSize (void) const

Detailed Description

The PointWriter is the base class for writing LiDAR point clouds.

Definition at line 24 of file PointWriter.h.


Member Typedef Documentation

Definition at line 28 of file PointWriter.h.


Member Function Documentation

size_t PointWriter::getChunckSize ( void  ) const [protected]

This method returns the metadata that will be writen to the output file.

virtual const double* PointWriter::getOffset ( void  ) const [pure 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.

Note:
By default this will be the same as the PointSources' offset.

Implemented in SimplePointWriter.

virtual const double* PointWriter::getScale ( void  ) const [pure 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.

Note:
By default this will be the same as the PointSources' scale.

Implemented in SimplePointWriter.

const PointSource* PointWriter::getSrc ( void  ) const [protected]

This method returns the input PointSource.

void PointWriter::groomMetadata ( const Bounds bounds,
double  fraction 
) [protected]
Parameters:
boundsthe region of interest
fractionthe fraction of the points you want
void PointWriter::init ( const PointSource src) [protected]
Parameters:
srcthe input PointSource
void PointWriter::setChunckSize ( size_t  size)
void PointWriter::setMetadata ( const Metadata metadata)

This method sets the metadata that will be written to the output file. By default the metadata from the PointSource is not copied.

Parameters:
metadatathe source metadata
virtual void PointWriter::setQuantization ( const double  scale[3],
const double  offset[3] 
) [pure virtual]

This method set the output files quantization values.

Parameters:
scalethe quantization scale factor (may be NULL)
offsetthe quantization offset (may be NULL)
Note:
Some file format requier quantization, so make sure you call this if needed.
The default values are the input PointSource values.

Implemented in SimplePointWriter.

virtual count_type PointWriter::write ( const Bounds bounds,
double  fraction,
const PointInfo pointInfo,
ProgressDelegate delegate 
) [pure virtual]

This method writes the output file.

Parameters:
boundsthe region of interest (HUGE_VAL are handled)
fractionthe fraction of the points you want (use 1.0 for all the points and use 0.1 to keep every tenth point)
pointInfothe list of channels to be extracted
delegatea ProgressDelegate for feedback (can be NULL)
Returns:
returns the number of points writen

Implemented in SimplePointWriter.


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