20 #include <filems/write/comps/SyncFileWriter.h>
21 #include <filems/write/comps/Las14SyncFileMeasurementWriter.h>
22 #include <filems/write/comps/LasSyncFileMeasurementWriter.h>
23 #include <filems/write/comps/ZipSyncFileMeasurementWriter.h>
24 #include <filems/write/comps/SimpleSyncFileMeasurementWriter.h>
25 #include <filems/write/comps/Las14VectorialSyncFileMeasurementWriter.h>
26 #include <filems/write/comps/Las14MultiVectorialSyncFileMeasurementWriter.h>
27 #include <filems/write/comps/LasVectorialSyncFileMeasurementWriter.h>
28 #include <filems/write/comps/LasMultiVectorialSyncFileMeasurementWriter.h>
29 #include <filems/write/comps/ZipVectorialSyncFileMeasurementWriter.h>
30 #include <filems/write/comps/ZipMultiVectorialSyncFileMeasurementWriter.h>
31 #include <filems/write/comps/SimpleVectorialSyncFileMeasurementWriter.h>
32 #include <filems/write/comps/SimpleMultiVectorialSyncFileMeasurementWriter.h>
33 #include <util/HeliosException.h>
39 namespace helios {
namespace filems{
42 using std::stringstream;
43 using std::shared_ptr;
44 using std::make_shared;
85 static shared_ptr<SyncFileWriter<Measurement const&, glm::dvec3 const&>>
87 WriterType
const type,
const string &path,
bool const compress =
false,
88 double const scaleFactor = 0.0001,
89 glm::dvec3
const offset = glm::dvec3(0, 0, 0),
90 double const minIntensity = 0.0,
double const deltaIntensity = 1000000.0
94 return make_shared<LasSyncFileMeasurementWriter>(
103 return make_shared<Las14SyncFileMeasurementWriter>(
112 return make_shared<ZipSyncFileMeasurementWriter>(path);
114 return make_shared<SimpleSyncFileMeasurementWriter>(path);
119 ss <<
"SyncFileMeasurementWriterFactory::makeWriter received an "
120 <<
"unexpected type: (" << type <<
")";
139 WriterType
const type,
const string &path,
bool const compress =
false,
140 double const scaleFactor = 0.0001,
141 glm::dvec3
const offset = glm::dvec3(0, 0, 0),
142 double const minIntensity = 0.0,
double const deltaIntensity = 1000000.0
146 return make_shared<LasVectorialSyncFileMeasurementWriter>(
155 return make_shared<Las14VectorialSyncFileMeasurementWriter>(
164 return make_shared<ZipVectorialSyncFileMeasurementWriter>(path);
166 return make_shared<SimpleVectorialSyncFileMeasurementWriter>(path);
171 ss <<
"SyncFileMeasurementWriterFactory::makeVectorialWriter received an "
172 <<
"unexpected type: (" << type <<
")";
190 WriterType
const type,
191 vector<string>
const &path,
193 vector<double>
const &scaleFactor,
194 vector<glm::dvec3>
const &offset,
195 vector<double>
const &minIntensity,
196 vector<double>
const &deltaIntensity
200 return make_shared<LasMultiVectorialSyncFileMeasurementWriter>(
209 return make_shared<Las14MultiVectorialSyncFileMeasurementWriter>(
218 return make_shared<ZipMultiVectorialSyncFileMeasurementWriter>(
222 return make_shared<SimpleMultiVectorialSyncFileMeasurementWriter>(
229 ss <<
"SyncFileMeasurementWriterFactory::makeMultiVectorialWriter "
230 <<
"received an unexpected type: (" << type <<
")";
Base class for Helios exceptions.
Definition: HeliosException.h:12
SyncFileMeasurementWriter Factory class. Used to create the appropriate measurement writers based on ...
Definition: SyncFileMeasurementWriterFactory.h:69
static shared_ptr< SyncFileWriter< vector< Measurement > const &, glm::dvec3 const & >> makeMultiVectorialWriter(WriterType const type, vector< string > const &path, bool const compress, vector< double > const &scaleFactor, vector< glm::dvec3 > const &offset, vector< double > const &minIntensity, vector< double > const &deltaIntensity)
Synchronous multi-stream vectorial file writer factory.
Definition: SyncFileMeasurementWriterFactory.h:189
static shared_ptr< SyncFileWriter< vector< Measurement > const &, glm::dvec3 const & >> makeVectorialWriter(WriterType const type, const string &path, bool const compress=false, double const scaleFactor=0.0001, glm::dvec3 const offset=glm::dvec3(0, 0, 0), double const minIntensity=0.0, double const deltaIntensity=1000000.0)
Synchronous vectorial file writer factory.
Definition: SyncFileMeasurementWriterFactory.h:138
static shared_ptr< SyncFileWriter< Measurement const &, glm::dvec3 const & > > makeWriter(WriterType const type, const string &path, bool const compress=false, double const scaleFactor=0.0001, glm::dvec3 const offset=glm::dvec3(0, 0, 0), double const minIntensity=0.0, double const deltaIntensity=1000000.0)
Synchronous file writer factory.
Definition: SyncFileMeasurementWriterFactory.h:86
Abstract class defining common behavior for all synchronous file writers.
Definition: SyncFileWriter.h:18