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)
virtual bool supportedChannels (const PointInfo &inputPointInfo, PointInfo &supportedPointInfo) const =0
 Remove the unsupported channels.

Protected Member Functions

 PointWriter (void)
virtual ~PointWriter (void)
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.


Constructor & Destructor Documentation

PointWriter::PointWriter ( void   )  [protected]
virtual PointWriter::~PointWriter ( void   )  [protected, virtual]

Member Function Documentation

size_t PointWriter::getChunckSize ( void   )  const [protected]
Metadata& PointWriter::getMetadata ( void   ) 

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:
bounds the region of interest
fraction the fraction of the points you want
void PointWriter::init ( const PointSource src  )  [protected]
Parameters:
src the 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:
metadata the 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:
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 bool PointWriter::supportedChannels ( const PointInfo inputPointInfo,
PointInfo supportedPointInfo 
) const [pure virtual]

This method take a list of channels and returns the supported channels.

Parameters:
inputPointInfo a list of channels
supportedPointInfo a filtered version of inputPointInfo
Returns:
returns true if channels were removed

Implemented in TXTPointWriter.

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.


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

LizardTech