Helios++
Helios software for LiDAR simulations
Las14MultiVectorialSyncFileMeasurementWriter.h
1 #pragma once
2 
3 #include <filems/write/comps/LasMultiVectorialSyncFileMeasurementWriter.h>
4 #include <filems/write/comps/MultiLasSyncFileWriter.h>
5 
6 #include <vector>
7 #include <memory>
8 
9 namespace helios { namespace filems{
10 
11 using std::vector;
12 using std::shared_ptr;
13 using std::make_shared;
14 
29 {
30 protected:
31  // *** ATTRIBUTES *** //
32  // ******************** //
37  vector<LasMeasurementWriteStrategy> lmws;
38 
39 public:
40  // *** CONSTRUCTION / DESTRUCTION *** //
41  // ************************************ //
48  vector<std::string> const &path,
49  bool const compress,
50  vector<double> const &scaleFactor,
51  vector<glm::dvec3> const &offset,
52  vector<double> const &minIntensity,
53  vector<double> const &deltaIntensity,
54  bool const createWriter = true
55  ) :
57  path,
58  compress,
59  scaleFactor,
60  offset,
61  minIntensity,
62  deltaIntensity,
63  false
64  )
65  {
66  // If construct must create the writers
67  if(createWriter){
68  // Create each LASWriter
69  createLasWriters(path, compress);
70  }
71  // Build measurement write strategies
73  // Build vectorial write strategies
74  // WARNING : It must be done after building the measurement write
75  // strategies to be wrapped by the vectorial strategy. If the vector
76  // of measurement strategies is modified, then the references in the
77  // vectorial strategy objects will be inconsistent.
79  }
81 
82 
83  // *** CREATE WRITER *** //
84  // *********************** //
91  void craftSpec(LasWriterSpec &lws) override {lws.craft14();};
92 };
93 
94 
95 }}
Concrete class specializing MultiLasSyncFileWriter to write vectors of measurements to LAS-1....
Definition: Las14MultiVectorialSyncFileMeasurementWriter.h:29
Las14MultiVectorialSyncFileMeasurementWriter(vector< std::string > const &path, bool const compress, vector< double > const &scaleFactor, vector< glm::dvec3 > const &offset, vector< double > const &minIntensity, vector< double > const &deltaIntensity, bool const createWriter=true)
LAS-1.4 multi-vecctorial synchronous file measurement vector writer.
Definition: Las14MultiVectorialSyncFileMeasurementWriter.h:47
vector< LasMeasurementWriteStrategy > lmws
The measurement write strategies that are wrapped by the main write strategies in a vectorial fashion...
Definition: Las14MultiVectorialSyncFileMeasurementWriter.h:37
void craftSpec(LasWriterSpec &lws) override
Assist the MultiLasSyncFileWriter::createLasWriters method by crafting the given specification using ...
Definition: Las14MultiVectorialSyncFileMeasurementWriter.h:91
Concrete class specializing MultiLasSyncFileWriter to write vectors of measurements to LAS files supp...
Definition: LasMultiVectorialSyncFileMeasurementWriter.h:31
void buildVectorialWriteStrategies()
Build the vectorial write strategies for the LAS multi vectorial synchronous file measurement writer.
Definition: LasMultiVectorialSyncFileMeasurementWriter.h:118
void buildMeasurementWriteStrategies()
Build the measurement write strategies for the LAS multi vectorial synchronous file measurement write...
Definition: LasMultiVectorialSyncFileMeasurementWriter.h:92
Class representing the specification defining a LasWriter (not the writer itself)
Definition: LasWriterSpec.h:23
void createLasWriters(vector< string > const &path, bool const compress)
Creation of each LasWriter , including LASpoint initialization.
Definition: MultiLasSyncFileWriter.h:90
vector< LasWriterSpec > lws
The specifications defining each LAS writer.
Definition: MultiLasSyncFileWriter.h:31
std::vector< std::string > path
Paths to the files to be written.
Definition: MultiSyncFileWriter.h:28