Helios++
Helios software for LiDAR simulations
ZipSyncFileWriter Class Reference

ZipSyncFileWriter implementation fro zipped text output format. More...

#include <ZipSyncFileWriter.h>

Inheritance diagram for ZipSyncFileWriter:
Collaboration diagram for ZipSyncFileWriter:

Public Member Functions

 ZipSyncFileWriter (const std::string &path, int compressionMode=boost::iostreams::zlib::best_compression)
 Build a ZipSyncFileWriter. More...
 
void _write (Measurement const &m, glm::dvec3 const &shift) override
 Write measurement to compressed file. More...
 
void _write (std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime) override
 Write fullwave to compressed file. More...
 
void _write (const Trajectory &t) override
 Write trajectory to compressed file. More...
 
- Public Member Functions inherited from SimpleSyncFileWriter
 SimpleSyncFileWriter (const std::string &path, std::ios_base::openmode om=std::ios_base::app)
 Simple synchronous file writer constructor. More...
 
void finish () override
 SimpleSyncFileWriter finish method does not do nothing. The writing operations are guaranteed to be done after the instance has been destroyed.
 
- Public Member Functions inherited from SyncFileWriter
 SyncFileWriter (const std::string &path)
 Instantiate a SyncFileWriter which writes to file at given path. More...
 
void write (Measurement const &m, glm::dvec3 const shift=glm::dvec3(0, 0, 0))
 Synchronously write Measurement to file. More...
 
void write (Trajectory const &t)
 Synchronously write trajectory to file. More...
 
void write (std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime)
 Synchronously write Fullwave to file. More...
 
std::string getPath ()
 Obtain the path to the file. More...
 

Protected Attributes

boost::iostreams::filtering_ostream compressedOut
 Compressed output stream.
 
boost::iostreams::zlib_params zp
 ZLib compression parameters.
 
std::unique_ptr< boost::archive::binary_oarchive > oa
 Binary output archive.
 
- Protected Attributes inherited from SimpleSyncFileWriter
std::ofstream ofs
 Output file stream to be used by the simple synchronous file writer.
 

Additional Inherited Members

- Protected Member Functions inherited from SimpleSyncFileWriter
virtual std::string measurementToString (Measurement const &m, glm::dvec3 const &shift)
 Build a string from measurement data. More...
 
virtual std::string trajectoryToString (Trajectory const &t)
 Build a string from trajectory data. More...
 
virtual std::string fullwaveToString (std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime)
 Build a string from fullwave data. More...
 

Detailed Description

ZipSyncFileWriter implementation fro zipped text output format.

Author
Alberto M. Esmoris Pena
Version
1.0

Constructor & Destructor Documentation

◆ ZipSyncFileWriter()

ZipSyncFileWriter::ZipSyncFileWriter ( const std::string &  path,
int  compressionMode = boost::iostreams::zlib::best_compression 
)
inlineexplicit

Build a ZipSyncFileWriter.

Parameters
compressionModeCompression mode. Use boost::iostreams::zlib::best_speed to reduce execution time at most. Use boost::iostreams::zlib::best_compression to reduce size at most.

Member Function Documentation

◆ _write() [1/3]

void ZipSyncFileWriter::_write ( Measurement const &  m,
glm::dvec3 const &  shift 
)
inlineoverridevirtual

Write measurement to compressed file.

See also
SimpleSyncFileWriter::_write(Measurement const &, glm::dvec3 const &)

Reimplemented from SimpleSyncFileWriter.

◆ _write() [2/3]

void ZipSyncFileWriter::_write ( std::vector< double > const &  fullwave,
int  fullwaveIndex,
double  minTime,
double  maxTime,
glm::dvec3 const &  beamOrigin,
glm::dvec3 const &  beamDir,
long  gpsTime 
)
inlineoverridevirtual

Write fullwave to compressed file.

See also
SimpleSyncFileWriter::_write( std::vector<double> const &, int, double, double, glm::dvec3, glm::dvec3, long )

Reimplemented from SimpleSyncFileWriter.

◆ _write() [3/3]

void ZipSyncFileWriter::_write ( const Trajectory t)
inlineoverridevirtual

Write trajectory to compressed file.

See also
SimpleSyncFileWriter::_write( long, double, double, double, double, double, double )

Reimplemented from SimpleSyncFileWriter.


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