SyncFileWriter implementation for LAS format.
More...
#include <LasSyncFileWriter.h>
|
| LasSyncFileWriter (const std::string &path, bool compress=false, double scaleFactor=0.0001, glm::dvec3 offset=glm::dvec3(0, 0, 0), double minIntensity=0.0, double deltaIntensity=1000000.0) |
| Synchronous LAS file writer constructor. More...
|
|
void | _write (Measurement const &m, glm::dvec3 const &shift) override |
| Write measurement to LAS file. More...
|
|
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 LAS file. More...
|
|
void | _write (Trajectory const &t) override |
| Write trajectory to compressed file. More...
|
|
void | finish () override |
| LasSyncFileWriter updates header and guarantees writings have been done only after the finish method has been invoked. If it has not been manually invoked, then it will when destroying the instance. Once the finish method has been invoked, the LasSyncFileWriter should not be used again.
|
|
| SyncFileWriter (const std::string &path) |
| Instantiate a SyncFileWriter which writes to file at given path. More...
|
|
void | write (Measurement const &m, glm::dvec3 const shift=glm::dvec3(0, 0, 0)) |
| Synchronously write Measurement to file. More...
|
|
void | write (Trajectory const &t) |
| Synchronously write trajectory to file. More...
|
|
void | write (std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime) |
| Synchronously write Fullwave to file. More...
|
|
std::string | getPath () |
| Obtain the path to the file. More...
|
|
|
LASwriteOpener | lwOpener |
| LASwriter opener. Used to instantiate LASwriter lw.
|
|
std::shared_ptr< LASwriter > | lw |
| LASwriter. Used to write to LAS file.
|
|
LASheader | lwHeader |
| Header definition for the LAS file.
|
|
LASpoint | lp |
| LASpoint used to build different points which shall be written to LAS output file.
|
|
double | scaleFactor |
| Scale factor for coordinates. More...
|
|
double | scaleFactorInverse |
| Inverse of the scale factor. More...
|
|
glm::dvec3 | offset |
| Offset for coordinates. More...
|
|
double | minIntensity |
| Minimum value for intensity. Values less than this will be clipped to minIntensity.
|
|
double | maxIntensity |
| Maximum value for intensity. Values greater than this will be clipped to maxIntensity.
|
|
double | deltaIntensity |
| The difference between max and min intensity. More...
|
|
bool | finished |
| Flag used to control the sync writer status.
|
|
double | intensityCoefficient |
| Precomputed intensity coefficient. More...
|
|
I32 | ewAttrIdx |
| Index of echo width attribute in LAS header definition.
|
|
I32 | fwiAttrIdx |
| Index of full wave index attribute in LAS header definition.
|
|
I32 | hoiAttrIdx |
| Index of hit object ID attribute in LAS header definition.
|
|
I32 | ewAttrStart |
| Echo width attribute start (LAS extra bytes format)
|
|
I32 | fwiAttrStart |
| Full wave index attribute start (LAS extra bytes format)
|
|
I32 | hoiAttrStart |
| Hit object ID attribute start (LAS extra bytes format)
|
|
SyncFileWriter implementation for LAS format.
- Author
- Alberto M. Esmoris Pena
- Version
- 1.0
◆ LasSyncFileWriter()
LasSyncFileWriter::LasSyncFileWriter |
( |
const std::string & |
path, |
|
|
bool |
compress = false , |
|
|
double |
scaleFactor = 0.0001 , |
|
|
glm::dvec3 |
offset = glm::dvec3(0, 0, 0) , |
|
|
double |
minIntensity = 0.0 , |
|
|
double |
deltaIntensity = 1000000.0 |
|
) |
| |
|
inlineexplicit |
◆ _write() [1/3]
void LasSyncFileWriter::_write |
( |
Measurement const & |
m, |
|
|
glm::dvec3 const & |
shift |
|
) |
| |
|
inlineoverridevirtual |
◆ _write() [2/3]
void LasSyncFileWriter::_write |
( |
std::vector< double > const & |
fullwave, |
|
|
int |
fullwaveIndex, |
|
|
double |
minTime, |
|
|
double |
maxTime, |
|
|
glm::dvec3 const & |
beamOrigin, |
|
|
glm::dvec3 const & |
beamDir, |
|
|
long |
gpsTime |
|
) |
| |
|
inlineoverridevirtual |
◆ _write() [3/3]
void LasSyncFileWriter::_write |
( |
Trajectory const & |
t | ) |
|
|
inlineoverridevirtual |
◆ deltaIntensity
double LasSyncFileWriter::deltaIntensity |
|
protected |
The difference between max and min intensity.
\[ \Delta_{I} = I_{max} - I_{min} \]
◆ intensityCoefficient
double LasSyncFileWriter::intensityCoefficient |
|
protected |
Precomputed intensity coefficient.
\[ I_{c} = \frac{65535}{\Delta_{I}} \]
\(65535\) comes from \(2^{16} - 1\) as LAS standard defines 16 bits to store intensity
◆ offset
glm::dvec3 LasSyncFileWriter::offset |
|
protected |
Offset for coordinates.
\[ X_{coord} = \left( {X_{record} \cdot X_{scale}} \right) + X_{offset} \]
◆ scaleFactor
double LasSyncFileWriter::scaleFactor |
|
protected |
Scale factor for coordinates.
\[ X_{coord} = \left( {X_{record} \cdot X_{scale}} \right) + X_{offset} \]
◆ scaleFactorInverse
double LasSyncFileWriter::scaleFactorInverse |
|
protected |
Inverse of the scale factor.
\[ \frac{1}{\textrm{scaleFactor}} \]
The documentation for this class was generated from the following file: