Helios++
Helios software for LiDAR simulations
ZipMeasurementWriteStrategy.h
1 #pragma once
2 
3 #include <filems/write/strategies/DirectMeasurementWriteStrategy.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 ~ZipMeasurementWriteStrategy() = default;
42 
43  // *** WRITE STRATEGY INTERFACE *** //
44  // ********************************* //
49  void write(Measurement const &m, glm::dvec3 const & shift) override{
50  oa << measurementToString(m, shift);
51  }
52 };
53 
54 }}
Class representing a measurement.
Definition: Measurement.h:13
Concrete class specializing WriteStrategy to directly write measurements to a file.
Definition: DirectMeasurementWriteStrategy.h:24
virtual std::string measurementToString(Measurement const &m, glm::dvec3 const &shift)
Build a string from measurement data.
Definition: DirectMeasurementWriteStrategy.h:64
std::ofstream & ofs
The output file stream to do the writing.
Definition: DirectMeasurementWriteStrategy.h:31
Like DirectMeasurementWriteStrategy but zipping the output.
Definition: ZipMeasurementWriteStrategy.h:15
ZipMeasurementWriteStrategy(std::ofstream &ofs, boost::archive::binary_oarchive &oa)
Default constructor for zip measurement write strategy.
Definition: ZipMeasurementWriteStrategy.h:34
void write(Measurement const &m, glm::dvec3 const &shift) override
Write measurement to compressed file.
Definition: ZipMeasurementWriteStrategy.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: ZipMeasurementWriteStrategy.h:24