Helios++
Helios software for LiDAR simulations
helios::filems::LasSyncFileWriter< WriteArgs > Class Template Reference

Abstract specialization of SingleSyncFileWriter to write output in LAS format. More...

#include <LasSyncFileWriter.h>

Inheritance diagram for helios::filems::LasSyncFileWriter< WriteArgs >:
Collaboration diagram for helios::filems::LasSyncFileWriter< WriteArgs >:

Public Member Functions

 LasSyncFileWriter ()
 Default constructor for Synchronous LAS file writer.
 
 LasSyncFileWriter (const std::string &path, bool const compress=false, double const scaleFactor=0.0001, glm::dvec3 const offset=glm::dvec3(0, 0, 0), double const minIntensity=0.0, double const deltaIntensity=1000000.0, bool const createWriter=true)
 Synchronous LAS file writer constructor. More...
 
virtual void createLasWriter (const std::string &path, bool const compress)
 Creation of the LasWriter itself, including LASpoint initialization. More...
 
virtual void craftSpec (LasWriterSpec &lws)
 Assist the LasSyncFileWriter::createLasWriters method by crafting the given specification. More...
 
void finish () override
 LasSyncFileWriter updates header and guarantees writings have been done only after the finish method has been invoked. If it has not been manually invoked, then it will when destroying the instance. Once the finish method has been invoked, the LasSyncFileWriter should not be used again. More...
 
- Public Member Functions inherited from helios::filems::SingleSyncFileWriter< WriteArgs ... >
 SingleSyncFileWriter ()
 Default constructor for synchronous single-file writer.
 
 SingleSyncFileWriter (const std::string &path)
 Instantiate a SingleSyncFileWriter which writes to file at given path. More...
 
void write (WriteArgs ... writeArgs) override
 Synchronously write to a single file. More...
 
std::string getPath (size_t const idx) const override
 Obtain the path to the file. More...
 
- Public Member Functions inherited from helios::filems::SyncFileWriter< WriteArgs ... >
 SyncFileWriter ()=default
 Default constructor for synchronous file writer.
 
std::string getPath ()
 Non index version of the SyncFileWriter::getPath(size_t const) function. More...
 

Protected Attributes

LasWriterSpec lws
 The specification defining the LAS writer.
 
std::shared_ptr< LASwriter > lw
 LASwriter. Used to write to LAS file.
 
bool finished
 Flag used to control the sync writer status.
 
- Protected Attributes inherited from helios::filems::SingleSyncFileWriter< WriteArgs ... >
std::string path
 Path to file to be written.
 
std::mutex mutex
 Mutex to synchronize concurrent write operations.
 
std::shared_ptr< WriteStrategy< WriteArgs ... > > writeStrategy
 The write strategy specifying how to write data to file.
 

Detailed Description

template<typename ... WriteArgs>
class helios::filems::LasSyncFileWriter< WriteArgs >

Abstract specialization of SingleSyncFileWriter to write output in LAS format.

Author
Alberto M. Esmoris Pena @verison 1.0
See also
filems::SingleSyncFileWriter

Constructor & Destructor Documentation

◆ LasSyncFileWriter()

template<typename ... WriteArgs>
helios::filems::LasSyncFileWriter< WriteArgs >::LasSyncFileWriter ( const std::string &  path,
bool const  compress = false,
double const  scaleFactor = 0.0001,
glm::dvec3 const  offset = glm::dvec3(0, 0, 0),
double const  minIntensity = 0.0,
double const  deltaIntensity = 1000000.0,
bool const  createWriter = true 
)
inlineexplicit

Member Function Documentation

◆ craftSpec()

template<typename ... WriteArgs>
virtual void helios::filems::LasSyncFileWriter< WriteArgs >::craftSpec ( LasWriterSpec lws)
inlinevirtual

Assist the LasSyncFileWriter::createLasWriters method by crafting the given specification.

Parameters
lwsThe LAS write specification to be crafted

Reimplemented in helios::filems::Las14VectorialSyncFileMeasurementWriter.

◆ createLasWriter()

template<typename ... WriteArgs>
virtual void helios::filems::LasSyncFileWriter< WriteArgs >::createLasWriter ( const std::string &  path,
bool const  compress 
)
inlinevirtual

Creation of the LasWriter itself, including LASpoint initialization.

Parameters
pathPath where the file will be save
compressFlag to activate/deactivate compression (las/laz format)

◆ finish()

template<typename ... WriteArgs>
void helios::filems::LasSyncFileWriter< WriteArgs >::finish ( )
inlineoverridevirtual

LasSyncFileWriter updates header and guarantees writings have been done only after the finish method has been invoked. If it has not been manually invoked, then it will when destroying the instance. Once the finish method has been invoked, the LasSyncFileWriter should not be used again.

See also
filems::LasWriterSpec::finish

Reimplemented from helios::filems::SyncFileWriter< WriteArgs ... >.


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