Helios++
Helios software for LiDAR simulations
ZipTrajectoryWriteStrategy.h
1 #pragma once
2 
3 #include <filems/write/strategies/DirectTrajectoryWriteStrategy.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 ~ZipTrajectoryWriteStrategy() = default;
42 
43  // *** WRITE STRATEGY INTERFACE *** //
44  // ********************************** //
49  void write(Trajectory const &t) override {
50  oa << trajectoryToString(t);
51  }
52 };
53 
54 }}
Class representing a concrete trajectory definition.
Definition: Trajectory.h:10
Concrete class specializing WriteStrategy to directly write trajectory to a file.
Definition: DirectTrajectoryWriteStrategy.h:21
virtual std::string trajectoryToString(Trajectory const &t)
Build a string from trajectory data.
Definition: DirectTrajectoryWriteStrategy.h:58
std::ofstream & ofs
The output file stream to do the writing.
Definition: DirectTrajectoryWriteStrategy.h:28
Like DirectTrajectoryWriteStrategy but zipping the output.
Definition: ZipTrajectoryWriteStrategy.h:15
void write(Trajectory const &t) override
Write trajectory to compressed file.
Definition: ZipTrajectoryWriteStrategy.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: ZipTrajectoryWriteStrategy.h:24
ZipTrajectoryWriteStrategy(std::ofstream &ofs, boost::archive::binary_oarchive &oa)
Default constructor for zip trajectory write strategy.
Definition: ZipTrajectoryWriteStrategy.h:34