3 #include <filems/write/core/VectorialMeasurementWriter.h>
4 #include <filems/write/core/TrajectoryWriter.h>
5 #include <filems/write/core/VectorialFullWaveformWriter.h>
6 #include <scanner/detector/FullWaveform.h>
15 namespace helios {
namespace filems {
17 class FMSFacadeFactory;
21 using std::shared_ptr;
38 shared_ptr<VectorialMeasurementWriter>
mw =
nullptr;
43 shared_ptr<TrajectoryWriter>
tw =
nullptr;
48 shared_ptr<VectorialFullWaveformWriter>
fww =
nullptr;
80 bool const computeWaveform,
81 bool const lastLegInStrip
118 string const &callerName=
"FMSWriteFacade::validateMeasurementWriter",
119 string const &errorMsg=
"could not access MeasurementWriter"
131 vector<Measurement>
const &measurements
132 )
const{
mw->writeMeasurementsUnsafe(measurements);}
150 const bool lastLegInStrip
209 string const &callerName=
"FMSWriteFacade::validateTrajectoryWriter",
210 string const &errorMsg=
"could not accesss TrajectoryWriter"
222 {
tw->writeTrajectoryUnsafe(t);}
253 const {
return this->
fww;}
260 shared_ptr<VectorialFullWaveformWriter>
fww
269 string const &callerName=
"FMSWriteFacade::validateFullWaveformWriter",
270 string const &errorMsg=
"could not accesss FullWaveformWriter"
276 vector<FullWaveform>
const &fullWaveforms
284 vector<FullWaveform>
const &fullWaveforms
285 )
const{
fww->writeFullWaveformsUnsafe(fullWaveforms);}
Class representing a concrete trajectory definition.
Definition: Trajectory.h:10
Factory to build FMS facades.
Definition: FMSFacadeFactory.h:17
The facade for FMS writing.
Definition: FMSWriteFacade.h:29
void clearPointcloudFile()
Definition: FMSWriteFacade.cpp:62
shared_ptr< TrajectoryWriter > getTrajectoryWriter() const
Obtain the trajectory writer of the write facade.
Definition: FMSWriteFacade.h:193
void writeFullWaveformsUnsafe(vector< FullWaveform > const &fullWaveforms) const
Write the full waveform without validations (it is faster than its non unsafe counterpart)
Definition: FMSWriteFacade.h:283
void setMeasurementWriterLas10(bool const las10)
Definition: FMSWriteFacade.cpp:134
void setMeasurementWriterLasOutput(bool const lasOutput)
Definition: FMSWriteFacade.cpp:114
void validateTrajectoryWriter(string const &callerName="FMSWriteFacade::validateTrajectoryWriter", string const &errorMsg="could not accesss TrajectoryWriter") const
Validate the trajectory writer of the facade is valid to support write methods. If it is not valid,...
Definition: FMSWriteFacade.cpp:187
virtual void disconnect()
Disconnect all components from the write facade.
Definition: FMSWriteFacade.cpp:17
fs::path getTrajectoryWriterOutputPath()
Definition: FMSWriteFacade.cpp:218
bool isMeasurementWriterLas10() const
Definition: FMSWriteFacade.cpp:124
void configure(string const &prefix, bool const computeWaveform, bool const lastLegInStrip)
Configure the output path for all writers in the facade.
Definition: FMSWriteFacade.cpp:20
void setTrajectoryWriter(shared_ptr< TrajectoryWriter > tw)
Set the trajectory writer of the write facade.
Definition: FMSWriteFacade.h:200
string getRootDir() const
Obtain the root directory of the write facade.
Definition: FMSWriteFacade.h:87
void writeTrajectoryUnsafe(Trajectory const &t) const
Write the trajectory without validations (it is faster than its non unsafe counterpart)
Definition: FMSWriteFacade.h:221
void setFullWaveformWriter(shared_ptr< VectorialFullWaveformWriter > fww)
Set the full waveform writer of the write facade.
Definition: FMSWriteFacade.h:259
void writeMeasurements(vector< Measurement > const &measurements)
Definition: FMSWriteFacade.cpp:50
void finishTrajectoryWriter()
Definition: FMSWriteFacade.cpp:208
shared_ptr< VectorialFullWaveformWriter > getFullWaveformWriter() const
Obtain the full waveform writer of the write facade.
Definition: FMSWriteFacade.h:252
shared_ptr< VectorialMeasurementWriter > mw
The vectorial writer for measurements.
Definition: FMSWriteFacade.h:38
bool isMeasurementWriterLasOutput() const
Definition: FMSWriteFacade.cpp:104
void writeFullWaveforms(vector< FullWaveform > const &fullWaveforms)
Definition: FMSWriteFacade.cpp:271
void setFullWaveformWriterZipOutput(bool const zipOutput)
Definition: FMSWriteFacade.cpp:303
void setRootDir(string const &rootDir)
Set the root directory of the write facade.
Definition: FMSWriteFacade.h:93
void writeMeasurementsUnsafe(vector< Measurement > const &measurements) const
Write the vector of measurements without validations (it is faster than its non unsafe counterpart)
Definition: FMSWriteFacade.h:130
void setTrajectoryWriterZipOutput(bool const zipOutput)
Definition: FMSWriteFacade.cpp:248
void validateMeasurementWriter(string const &callerName="FMSWriteFacade::validateMeasurementWriter", string const &errorMsg="could not access MeasurementWriter") const
Validate the measurement writer of the facade is valid to support write methods. If it is not valid,...
Definition: FMSWriteFacade.cpp:38
shared_ptr< VectorialFullWaveformWriter > fww
The writer for full waveform.
Definition: FMSWriteFacade.h:48
bool isMeasurementWriterZipOutput() const
Definition: FMSWriteFacade.cpp:144
bool isFullWaveformWriterZipOutput() const
Definition: FMSWriteFacade.cpp:293
bool isTrajectoryWriterZipOutput() const
Definition: FMSWriteFacade.cpp:238
FMSWriteFacade()=default
Default constructor for FMS write facade.
shared_ptr< TrajectoryWriter > tw
The writer for trajectories.
Definition: FMSWriteFacade.h:43
void setMeasurementWriterLasScale(double const lasScale)
Definition: FMSWriteFacade.cpp:174
void writeTrajectory(Trajectory const &t)
Definition: FMSWriteFacade.cpp:198
void validateFullWaveformWriter(string const &callerName="FMSWriteFacade::validateFullWaveformWriter", string const &errorMsg="could not accesss FullWaveformWriter") const
Validate the full waveform writer of the facade is valid to support write methods....
Definition: FMSWriteFacade.cpp:260
void finishMeasurementWriter()
Definition: FMSWriteFacade.cpp:72
shared_ptr< VectorialMeasurementWriter > getMeasurementWriter() const
Obtain the measurement writer of the write facade.
Definition: FMSWriteFacade.h:102
double getMeasurementWriterLasScale() const
Definition: FMSWriteFacade.cpp:164
void setMeasurementWriterZipOutput(bool const zipOutput)
Definition: FMSWriteFacade.cpp:154
fs::path getMeasurementWriterOutputPath()
Definition: FMSWriteFacade.cpp:82
void finishFullWaveformWriter()
Definition: FMSWriteFacade.cpp:283
string rootDir
The root directory for output files.
Definition: FMSWriteFacade.h:52
void setTrajectoryWriterOutputPath(string const &path)
Definition: FMSWriteFacade.cpp:228
void setMeasurementWriterOutputPath(std::string path, const bool lastLegInStrip)
Definition: FMSWriteFacade.cpp:91
void setMeasurementWriter(shared_ptr< VectorialMeasurementWriter > mw)
Set the measurement writer of the write facade.
Definition: FMSWriteFacade.h:109