Helios++
Helios software for LiDAR simulations
SimpleSyncFileMeasurementWriter.h
1 #pragma once
2 
3 #include <filems/write/comps/SimpleSyncFileWriter.h>
4 #include <filems/write/strategies/DirectMeasurementWriteStrategy.h>
5 
6 #include <memory>
7 #include <vector>
8 
9 namespace helios { namespace filems{
10 
11 using std::make_shared;
12 using std::vector;
13 
25  public SimpleSyncFileWriter<Measurement const &, glm::dvec3 const &>
26 {
27 public:
28  // *** CONSTRUCTION / DESTRUCTION *** //
29  // ************************************ //
35  const std::string& path,
36  std::ios_base::openmode om = std::ios_base::app
37  ) :
38  SimpleSyncFileWriter<Measurement const&, glm::dvec3 const &>(path, om)
39  {
40  this->writeStrategy = make_shared<DirectMeasurementWriteStrategy>(
41  this->ofs
42  );
43  }
44  virtual ~SimpleSyncFileMeasurementWriter() = default;
45 };
46 
47 }}
Class representing a measurement.
Definition: Measurement.h:13
Concrete class specializing SimpleSyncFileWriter to write measurements directly to a file.
Definition: SimpleSyncFileMeasurementWriter.h:26
SimpleSyncFileMeasurementWriter(const std::string &path, std::ios_base::openmode om=std::ios_base::app)
Simple synchronous file measurement writer constructor.
Definition: SimpleSyncFileMeasurementWriter.h:34
Abstract specialization of SingleSyncFileWriter to write output directly to a file.
Definition: SimpleSyncFileWriter.h:23
std::ofstream ofs
Output file stream to be used by the simple synchronous file writer.
Definition: SimpleSyncFileWriter.h:31
std::string path
Path to file to be written.
Definition: SingleSyncFileWriter.h:28
std::shared_ptr< WriteStrategy< WriteArgs ... > > writeStrategy
The write strategy specifying how to write data to file.
Definition: SingleSyncFileWriter.h:36