3 #include <filems/write/core/VectorialMeasurementWriter.h>
4 #include <filems/util/FileUtils.h>
7 namespace helios {
namespace filems{
39 WriterType
const &type,
44 double const minIntensity,
45 double const deltaIntensity
49 std::string pathNonExt;
55 vector<double> scaleFactors;
56 vector<glm::dvec3> shifts;
57 vector<double> minIntensities;
58 vector<double> deltaIntensities;
59 size_t const nDevs =
scanner->getNumDevices();
60 for(
size_t i = 0 ; i < nDevs ; ++i){
62 pathNonExt,
"_dev"+
scanner->getDeviceId(i), ext
65 shifts.push_back(
shift);
66 minIntensities.push_back(0.0);
67 deltaIntensities.push_back(1000000.0);
static void extractExtensionAndPathWithoutExtension(std::string const &path, std::string &ext, std::string &pathNonExt)
Extract the extension and the path without extension from given path with extension.
Definition: FileUtils.cpp:118
static std::string craftPathWithSuffix(std::string const &pathNonExt, std::string const &suffix, std::string const &ext)
Build a string such that: builtString = pathNonExt + suffix + ext.
Definition: FileUtils.cpp:128
glm::dvec3 shift
The pointer to the shift vector to be applied to measurements.
Definition: BaseMeasurementWriter.h:54
shared_ptr< Scanner > scanner
The scanner that generates the measurements to be written.
Definition: BaseMeasurementWriter.h:49
double lasScale
Scale factor specification to be used when LAS output format specified.
Definition: HeliosWriter.h:56
bool zipOutput
Flag specifying if detector output must be zipped (true) or not (false)
Definition: HeliosWriter.h:50
Common implementation for any vectorial measurement writer that supports concurrent multiple output s...
Definition: MultiVectorialMeasurementWriter.h:18
MultiVectorialMeasurementWriter()
Default constructor for multi vectorial measurement writer.
Definition: MultiVectorialMeasurementWriter.h:25
shared_ptr< SyncFileWriter< vector< Measurement > const &, glm::dvec3 const & > > makeWriter(WriterType const &type, string const &path, bool const zipOutput, double const lasScale, glm::dvec3 shift, double const minIntensity, double const deltaIntensity) const override
Make a multi vectorial measurement SyncFileWriter.
Definition: MultiVectorialMeasurementWriter.h:38
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
Abstract class defining common behavior for all synchronous file writers.
Definition: SyncFileWriter.h:18
Common implementation for any vectorial measurement writer.
Definition: VectorialMeasurementWriter.h:23