Helios++
Helios software for LiDAR simulations
ZipFullWaveformWriteStrategy.h
1 #pragma once
2 
3 #include <filems/write/strategies/DirectFullWaveformWriteStrategy.h>
4 
5 #include <boost/archive/binary_oarchive.hpp>
6 
7 namespace helios { namespace filems {
8 
16 protected:
17  // *** ATTRIBUTES *** //
18  // ******************** //
24  boost::archive::binary_oarchive &oa;
25 
26 public:
27  // *** CONSTRUCTION / DESTRUCTION *** //
28  // ************************************ //
35  std::ofstream &ofs,
36  boost::archive::binary_oarchive &oa
37  ) :
39  oa(oa)
40  {}
41  virtual ~ZipFullWaveformWriteStrategy() = default;
42 
43  // *** WRITE STRATEGY INTERFACE *** //
44  // ********************************* //
49  void write(FullWaveform const &fullWaveform) override{
50  oa << fullWaveformToString(fullWaveform);
51  }
52 };
53 
54 }}
Class representing a full waveform.
Definition: FullWaveform.h:12
Concrete class specializing WriteStrategy to directly write full waveform data to a file.
Definition: DirectFullWaveformWriteStrategy.h:22
virtual std::string fullWaveformToString(FullWaveform const &fw)
Build a string from fullwave data.
Definition: DirectFullWaveformWriteStrategy.h:60
std::ofstream & ofs
The output file stream to do the writing.
Definition: DirectFullWaveformWriteStrategy.h:29
Like DirectFullWaveformWriteStrategy but zipping the output.
Definition: ZipFullWaveformWriteStrategy.h:15
ZipFullWaveformWriteStrategy(std::ofstream &ofs, boost::archive::binary_oarchive &oa)
Default constructor for zip full waveform write strategy.
Definition: ZipFullWaveformWriteStrategy.h:34
void write(FullWaveform const &fullWaveform) override
Write full waveform to compressed file.
Definition: ZipFullWaveformWriteStrategy.h:49
boost::archive::binary_oarchive & oa
The zipping output stream to do the writing. It must be associated to the file output stream of the p...
Definition: ZipFullWaveformWriteStrategy.h:24