Helios++
Helios software for LiDAR simulations
helios::filems::Las14MultiVectorialSyncFileMeasurementWriter Class Reference

Concrete class specializing MultiLasSyncFileWriter to write vectors of measurements to LAS-1.4 files supporting concurrent multiple output streams. More...

#include <Las14MultiVectorialSyncFileMeasurementWriter.h>

Inheritance diagram for helios::filems::Las14MultiVectorialSyncFileMeasurementWriter:
Collaboration diagram for helios::filems::Las14MultiVectorialSyncFileMeasurementWriter:

Public Member Functions

 Las14MultiVectorialSyncFileMeasurementWriter (vector< std::string > const &path, bool const compress, vector< double > const &scaleFactor, vector< glm::dvec3 > const &offset, vector< double > const &minIntensity, vector< double > const &deltaIntensity, bool const createWriter=true)
 LAS-1.4 multi-vecctorial synchronous file measurement vector writer. More...
 
void craftSpec (LasWriterSpec &lws) override
 Assist the MultiLasSyncFileWriter::createLasWriters method by crafting the given specification using the 1.4 version. More...
 
- Public Member Functions inherited from helios::filems::LasMultiVectorialSyncFileMeasurementWriter
 LasMultiVectorialSyncFileMeasurementWriter (vector< std::string > const &path, bool const compress, vector< double > const &scaleFactor, vector< glm::dvec3 > const &offset, vector< double > const &minIntensity, vector< double > const &deltaIntensity, bool const createWriter=true)
 LAS multi-vectorial synchronous file measurement vector writer constructor. More...
 
void buildMeasurementWriteStrategies ()
 Build the measurement write strategies for the LAS multi vectorial synchronous file measurement writer.
 
void buildVectorialWriteStrategies ()
 Build the vectorial write strategies for the LAS multi vectorial synchronous file measurement writer. More...
 
size_t indexFromWriteArgs (vector< Measurement > const &measurements, glm::dvec3 const &offset) override
 
- Public Member Functions inherited from helios::filems::MultiLasSyncFileWriter< vector< Measurement > const &, glm::dvec3 const & >
 MultiLasSyncFileWriter ()
 Default constructor for Synchronous Multi LAS file writer.
 
 MultiLasSyncFileWriter (vector< string > const &path, bool const compress, vector< double > const &scaleFactor, vector< glm::dvec3 > const &offset, vector< double > const &minIntensity, vector< double > const &deltaIntensity, bool const createWriters=true)
 Constructor for Synchronous Multi LAS file writer.
 
void createLasWriters (vector< string > const &path, bool const compress)
 Creation of each LasWriter , including LASpoint initialization. More...
 
void finish () override
 MultiLasSyncFileWriter updates each header and guarantees all 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 MultiLasSyncFileWriter should not be used again. 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

vector< LasMeasurementWriteStrategylmws
 The measurement write strategies that are wrapped by the main write strategies in a vectorial fashion.
 
- Protected Attributes inherited from helios::filems::LasMultiVectorialSyncFileMeasurementWriter
vector< LasMeasurementWriteStrategylmws
 The measurement write strategies that are wrapped by the main write strategies in a vectorial fashion ( filems::MultiLasSyncFileWriter::writeStrategy )
 
- Protected Attributes inherited from helios::filems::MultiLasSyncFileWriter< vector< Measurement > const &, glm::dvec3 const & >
vector< LasWriterSpeclws
 The specifications defining each LAS writer.
 
vector< shared_ptr< LASwriter > > lw
 The LASwriter used to write to each LAS file.
 
bool finished
 Flag used to control the sync writer status.
 
- Protected Attributes inherited from helios::filems::MultiSyncFileWriter< WriteArgs ... >
std::vector< std::string > path
 Paths to the files to be written.
 
std::vector< std::mutex > mutex
 One mutex per file to be written (i-th mutex corresponds to i-th file)
 
std::vector< std::shared_ptr< WriteStrategy< WriteArgs ... > > > writeStrategy
 The write strategies specifying how to write data, one per file.
 

Additional Inherited Members

- Protected Member Functions inherited from helios::filems::MultiSyncFileWriter< WriteArgs ... >
 MultiSyncFileWriter ()
 Default constructor for synchronous multi-file writer. More...
 
 MultiSyncFileWriter (std::vector< std::string > const &path)
 
void write (WriteArgs ... writeArgs) override
 Synchronously write to a single file. More...
 
virtual size_t indexFromWriteArgs (WriteArgs ... writeArgs)=0
 Any concrete implementation extending MultiSyncFileWriter must override this function to specify how to obtain the index from the WriteArgs. More...
 
std::string getPath (size_t const idx) const override
 Obtain the path to the idx-th file. More...
 

Detailed Description

Concrete class specializing MultiLasSyncFileWriter to write vectors of measurements to LAS-1.4 files supporting concurrent multiple output streams.

Author
Alberto M. Esmoris Pena
Version
1.0
See also
filems::MultiLasSyncFileWriter
filems::LasMeasurementWriteStrategy
Measurement
LasSyncFileMeasurementWriter

Constructor & Destructor Documentation

◆ Las14MultiVectorialSyncFileMeasurementWriter()

helios::filems::Las14MultiVectorialSyncFileMeasurementWriter::Las14MultiVectorialSyncFileMeasurementWriter ( vector< std::string > const &  path,
bool const  compress,
vector< double > const &  scaleFactor,
vector< glm::dvec3 > const &  offset,
vector< double > const &  minIntensity,
vector< double > const &  deltaIntensity,
bool const  createWriter = true 
)
inlineexplicit

LAS-1.4 multi-vecctorial synchronous file measurement vector writer.

See also
filems::MultiLasSyncFileWriter::MultiLasSyncFileWriter

Member Function Documentation

◆ craftSpec()

void helios::filems::Las14MultiVectorialSyncFileMeasurementWriter::craftSpec ( LasWriterSpec lws)
inlineoverridevirtual

Assist the MultiLasSyncFileWriter::createLasWriters method by crafting the given specification using the 1.4 version.

Parameters
lwsThe LAS write specification to be crafted according to 1.4 version

Reimplemented from helios::filems::MultiLasSyncFileWriter< vector< Measurement > const &, glm::dvec3 const & >.


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