3 #include <SyncFileWriter.h> 5 #include "MathConverter.h" 30 const std::string&
path,
31 std::ios_base::openmode om = std::ios_base::app
57 std::vector<double>
const &fullwave,
61 glm::dvec3
const & beamOrigin,
62 glm::dvec3
const & beamDir,
106 glm::dvec3
const & shift
108 glm::dvec3 shifted = m.
position + shift;
109 std::stringstream ss;
110 ss << std::setprecision(4) << std::fixed;
111 ss << shifted.x <<
" " 121 << std::setprecision(4) << std::fixed
122 << ((double)m.
gpsTime) / 1000.0 << std::endl;
131 std::stringstream ss;
132 ss << std::setprecision(4) << std::fixed;
136 << ((double)t.
gpsTime) / 1000.0 <<
" " 148 std::vector<double>
const &fullwave,
152 glm::dvec3
const & beamOrigin,
153 glm::dvec3
const & beamDir,
156 std::stringstream ss;
157 ss << std::setprecision(4) << std::fixed;
158 ss << fullwaveIndex <<
" " 159 << beamOrigin.x <<
" " 160 << beamOrigin.y <<
" " 161 << beamOrigin.z <<
" " 167 << ((double)gpsTime)/1000.0 <<
" ";
172 std::ostream_iterator<double>(ss,
" ")
174 ss << fullwave.back();
void finish() override
SimpleSyncFileWriter finish method does not do nothing. The writing operations are guaranteed to be d...
Definition: SimpleSyncFileWriter.h:95
std::string hitObjectId
ID of hit object.
Definition: Measurement.h:20
long gpsTime
Measurement GPS time.
Definition: Measurement.h:64
int fullwaveIndex
Full wave index.
Definition: Measurement.h:56
glm::dvec3 position
Trajectory position/coordinates.
Definition: Trajectory.h:20
static double radiansToDegrees(double radians)
Receive radians, return degrees.
Definition: MathConverter.h:12
Class representing a concrete trajectory definition.
Definition: Trajectory.h:8
Class representing a measurement.
Definition: Measurement.h:12
SyncFileWriter implementation for simple text format.
Definition: SimpleSyncFileWriter.h:12
std::string path
Path to file to be written.
Definition: SyncFileWriter.h:19
int pulseReturnNumber
Pulse return number.
Definition: Measurement.h:52
SimpleSyncFileWriter(const std::string &path, std::ios_base::openmode om=std::ios_base::app)
Simple synchronous file writer constructor.
Definition: SimpleSyncFileWriter.h:29
void _write(Trajectory const &t) override
Write trajectory to compressed file.
Definition: SimpleSyncFileWriter.h:84
double roll
Roll angle in radians.
Definition: Trajectory.h:24
double pitch
Pitch angle in radians.
Definition: Trajectory.h:28
glm::dvec3 position
Definition: Measurement.h:24
int classification
Point class.
Definition: Measurement.h:60
double intensity
Point intensity.
Definition: Measurement.h:40
double echo_width
Echo width.
Definition: Measurement.h:44
long gpsTime
GPS time in milliseconds identifying the moment at which trajectory is registered.
Definition: Trajectory.h:16
void _write(Measurement const &m, glm::dvec3 const &shift) override
Write measurement to text file.
Definition: SimpleSyncFileWriter.h:45
int returnNumber
Measurement return number.
Definition: Measurement.h:48
void _write(std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime) override
Write fullwave to text file.
Definition: SimpleSyncFileWriter.h:56
std::ofstream ofs
Output file stream to be used by the simple synchronous file writer.
Definition: SimpleSyncFileWriter.h:20
virtual std::string fullwaveToString(std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime)
Build a string from fullwave data.
Definition: SimpleSyncFileWriter.h:147
Abstract class defining common behavior for all synchronous file writers.
Definition: SyncFileWriter.h:14
virtual std::string trajectoryToString(Trajectory const &t)
Build a string from trajectory data.
Definition: SimpleSyncFileWriter.h:130
virtual std::string measurementToString(Measurement const &m, glm::dvec3 const &shift)
Build a string from measurement data.
Definition: SimpleSyncFileWriter.h:104
double yaw
Yaw angle in radians.
Definition: Trajectory.h:32