Helios++
Helios software for LiDAR simulations
helios::filems::BaseFullWaveformWriter< WriteArgs > Class Template Referenceabstract
Inheritance diagram for helios::filems::BaseFullWaveformWriter< WriteArgs >:
Collaboration diagram for helios::filems::BaseFullWaveformWriter< WriteArgs >:

Public Member Functions

 BaseFullWaveformWriter ()=default
 Default constructor for base full waveform writer.
 
virtual void configure (string const &parent, string const &prefix, bool const computeWaveform)
 Configure the output path for the full waveform writer. More...
 
virtual shared_ptr< SyncFileWriter< WriteArgs ... > > makeWriter (string const &path) const =0
 Make a SyncFileWriter that is suitable to be used by the base full waveform writer. More...
 
void finish () override
 Finishes all writers. More...
 
void setOutputFilePath (string const &path)
 Set the path to output file. More...
 
fs::path getOutputFilePath () const
 Get the path to the output file. More...
 
string getOutputPath () const
 
- Public Member Functions inherited from helios::filems::HeliosWriter< WriteArgs ... >
 HeliosWriter ()=default
 Default constructor for HELIOS++ writer.
 
virtual bool hasWriter () const
 Check whether the HeliosWriter has a non null writer (true) or not (false) More...
 
bool isLasOutput () const
 Get the LAS output flag. More...
 
void setLasOutput (bool const lasOutput)
 Set the LAS output flag. More...
 
bool isLas10 () const
 Get the LAS 10 specification flag. More...
 
void setLas10 (bool const las10)
 Set the LAS output flag. More...
 
bool isZipOutput () const
 Get the zip output flag. More...
 
void setZipOutput (bool const zipOutput)
 Set the zip output flag. More...
 
double getLasScale () const
 Obtain the LAS scale of the measurement writer. More...
 
void setLasScale (double const lasScale)
 Set the LAS scale of the measurement writer. More...
 

Protected Attributes

unordered_map< string, shared_ptr< SyncFileWriter< WriteArgs ... > > > writers {}
 Map of writers. This map allows to reuse writers for legs grouped in the same strip.
 
- Protected Attributes inherited from helios::filems::HeliosWriter< WriteArgs ... >
shared_ptr< SyncFileWriter< WriteArgs ... > > sfw
 Synchronous file writer. More...
 
bool lasOutput
 Flag specifying if detector output must be written in LAS format (true) or not (false) More...
 
bool las10
 Flag specifying if detect output must be writing in LAS 1.0 (LAS 1.4 is written by default)
 
bool zipOutput
 Flag specifying if detector output must be zipped (true) or not (false)
 
double lasScale
 Scale factor specification to be used when LAS output format specified. More...
 

Member Function Documentation

◆ configure()

template<typename ... WriteArgs>
virtual void helios::filems::BaseFullWaveformWriter< WriteArgs >::configure ( string const &  parent,
string const &  prefix,
bool const  computeWaveform 
)
virtual

Configure the output path for the full waveform writer.

Parameters
parentPath to output directory for full waveform files
prefixPrefix for the name of the output file
computeWaveformFlag to specify if waveform must be computed (true) or not (false)

◆ finish()

template<typename ... WriteArgs>
void helios::filems::BaseFullWaveformWriter< WriteArgs >::finish ( )
overridevirtual

◆ getOutputFilePath()

template<typename ... WriteArgs>
fs::path helios::filems::BaseFullWaveformWriter< WriteArgs >::getOutputFilePath ( ) const
inlinevirtual

Get the path to the output file.

Returns
The path to the output file
See also
filems::BaseFullWaveformWriter::getOutputPath

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

◆ getOutputPath()

template<typename ... WriteArgs>
string helios::filems::BaseFullWaveformWriter< WriteArgs >::getOutputPath ( ) const
inlinevirtual

◆ makeWriter()

template<typename ... WriteArgs>
virtual shared_ptr<SyncFileWriter<WriteArgs ...> > helios::filems::BaseFullWaveformWriter< WriteArgs >::makeWriter ( string const &  path) const
pure virtual

Make a SyncFileWriter that is suitable to be used by the base full waveform writer.

Returns
SyncFileWriter which is compatible with the base full waveform writer
See also
SyncFileWriter
helios::filems::FullWaveformWriter::makeWriter
helios::filems::VectorialFullWaveformWriter::makeWriter

Implemented in helios::filems::VectorialFullWaveformWriter, and helios::filems::FullWaveformWriter.

◆ setOutputFilePath()

template<typename ... WriteArgs>
void helios::filems::BaseFullWaveformWriter< WriteArgs >::setOutputFilePath ( string const &  path)

Set the path to output file.

Parameters
pathNew path to output file

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