3 #include <filems/write/comps/LasSyncFileWriter.h>
4 #include <filems/write/strategies/LasMeasurementWriteStrategy.h>
5 #include <filems/write/strategies/VectorialWriteStrategy.h>
6 #include <Measurement.h>
14 namespace helios{
namespace filems{
16 using std::make_shared;
31 vector<Measurement> const &,
55 const std::string &
path,
56 bool const compress =
false,
57 double const scaleFactor = 0.0001,
58 glm::dvec3
const offset = glm::dvec3(0, 0, 0),
59 double const minIntensity = 0.0,
60 double const deltaIntensity = 1000000.0,
61 bool const createWriter =
true
78 lws.scaleFactorInverse,
82 lws.intensityCoefficient,
Class representing a measurement.
Definition: Measurement.h:13
Concrete class specializing LasSyncFileWriter to write a vector of measurements to a LAS14 file.
Definition: Las14VectorialSyncFileMeasurementWriter.h:34
Las14VectorialSyncFileMeasurementWriter(const std::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, bool const createWriter=true)
LAS-1.4 vectorial synchronous file measurement vector writer constructor.
Definition: Las14VectorialSyncFileMeasurementWriter.h:54
LasMeasurementWriteStrategy lmws
The measurement write strategy that is wrapped by the main write strategy in a vectorial fashion ( fi...
Definition: Las14VectorialSyncFileMeasurementWriter.h:44
void craftSpec(LasWriterSpec &lws) override
Assist the LasSyncFileWriter::createLasWriters method by crafting the given specification using the 1...
Definition: Las14VectorialSyncFileMeasurementWriter.h:123
Concrete class specializing WriteStrategy to directly write measurements to a file with LAS format.
Definition: LasMeasurementWriteStrategy.h:23
Abstract specialization of SingleSyncFileWriter to write output in LAS format.
Definition: LasSyncFileWriter.h:23
LasWriterSpec lws
The specification defining the LAS writer.
Definition: LasSyncFileWriter.h:30
std::shared_ptr< LASwriter > lw
LASwriter. Used to write to LAS file.
Definition: LasSyncFileWriter.h:34
virtual void createLasWriter(const std::string &path, bool const compress)
Creation of the LasWriter itself, including LASpoint initialization.
Definition: LasSyncFileWriter.h:88
Class representing the specification defining a LasWriter (not the writer itself)
Definition: LasWriterSpec.h:23
void craft14()
Craft the header of the LAS File for version 1.4.
Definition: LasWriterSpec.h:221
LASpoint lp
LASpoint used to build different points which shall be written to LAS output file.
Definition: LasWriterSpec.h:39
double maxIntensity
Maximum value for intensity. Values greater than this will be clipped to maxIntensity.
Definition: LasWriterSpec.h:73
I32 ampAttrStart
Helios amplitude attribute start (LAS extra bytes format)
Definition: LasWriterSpec.h:124
glm::dvec3 offset
Offset for coordinates.
Definition: LasWriterSpec.h:63
I32 fwiAttrStart
Full wave index attribute start (LAS extra bytes format)
Definition: LasWriterSpec.h:116
I32 hoiAttrStart
Hit object ID attribute start (LAS extra bytes format)
Definition: LasWriterSpec.h:120
I32 ewAttrStart
Echo width attribute start (LAS extra bytes format)
Definition: LasWriterSpec.h:112
double scaleFactorInverse
Inverse of the scale factor.
Definition: LasWriterSpec.h:55
double intensityCoefficient
Precomputed intensity coefficient.
Definition: LasWriterSpec.h:92
double minIntensity
Minimum value for intensity. Values less than this will be clipped to minIntensity.
Definition: LasWriterSpec.h:68
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
Concrete class specializing WriteStrategy to make any other write strategy operate over a vector.
Definition: VectorialWriteStrategy.h:23