PointWriter Class Reference

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

#include <PointWriter.h>

Inheritance diagram for PointWriter:

Inheritance graph
[legend]
Collaboration diagram for PointWriter:

Collaboration graph
[legend]

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

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:
metadata the source metadata

Metadata& PointWriter::getMetadata ( void   ) 

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

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

This method set the output files quantization values.

Parameters:
scale the quantization scale factor (may be NULL)
offset the 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 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.

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 count_type PointWriter::write ( const Bounds bounds,
double  fraction,
const PointInfo pointInfo,
ProgressDelegate delegate 
) [pure virtual]

This method writes the output file.

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

Implemented in SimplePointWriter.

void PointWriter::setChunckSize ( size_t  size  ) 

void PointWriter::init ( const PointSource src  )  [protected]

Parameters:
src the input PointSource

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

This method returns the input PointSource.

void PointWriter::groomMetadata ( const Bounds bounds,
double  fraction 
) [protected]

Parameters:
bounds the region of interest
fraction the fraction of the points you want

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


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

LizardTech