Helios++
Helios software for LiDAR simulations
|
Base abstract class for detectors. More...
#include <AbstractDetector.h>
Public Member Functions | |
AbstractDetector (std::shared_ptr< Scanner > scanner, double accuracy_m, double rangeMin_m) | |
Base constructor for abstract detector. More... | |
virtual std::shared_ptr< AbstractDetector > | clone ()=0 |
virtual void | _clone (std::shared_ptr< AbstractDetector > ad) |
virtual void | shutdown () |
Shutdown the detector when simulation has finished. | |
void | writeMeasurement (Measurement &m) |
Write a measurement. More... | |
void | writeMeasurements (std::list< Measurement *> &m) |
Write a list of measurements. More... | |
virtual void | applySettings (std::shared_ptr< ScannerSettings > &settings) |
Apply scanner settings to the detector. More... | |
virtual void | simulatePulse (thread_pool &pool, glm::dvec3 absoluteBeamOrigin, Rotation absoluteBeamAttitude, int state_currentPulseNumber, long currentGpsTime)=0 |
Compute pulse simulation. More... | |
void | setOutputFilePath (std::string path) |
Set path to output file. More... | |
Public Attributes | |
std::shared_ptr< Scanner > | scanner |
Scanner which the detector belongs to. | |
std::shared_ptr< MeasurementsBuffer > | mBuffer |
Buffer to store measurements. | |
std::shared_ptr< SyncFileWriter > | sfw |
Synchronous file writer. | |
double | cfg_device_accuracy_m = 0 |
Detector accuracy in meters. | |
double | cfg_device_rangeMin_m = 0 |
Minimum range for detector in meters. | |
bool | lasOutput |
Flag specifying if detector output must be written in LAS format (true) or not (false) More... | |
bool | zipOutput |
Flag specifying if detector output must be zipped (true) or not (false) | |
double | lasScale |
Scale factor specification to be used when LAS output format specified. More... | |
std::string | outputFileLineFormatString |
Format string for output file line. More... | |
fs::path | outputFilePath |
Path to output file. | |
Base abstract class for detectors.
|
inline |
Base constructor for abstract detector.
|
inlinevirtual |
Apply scanner settings to the detector.
settings | Settings to be applied to de detector |
Reimplemented in FullWaveformPulseDetector.
void AbstractDetector::setOutputFilePath | ( | std::string | path | ) |
Set path to output file.
path | New path to output file |
|
pure virtual |
Compute pulse simulation.
pool | Thread pool to be used to distribute computational burden |
absoluteBeamOrigin | Origin of the beam in absolute coordinates |
absoluteBeamAttitude | Attitude of the beam |
state_currentPulseNumber | Current pulse number |
currentGpsTime | Current GPS time |
Implemented in FullWaveformPulseDetector.
void AbstractDetector::writeMeasurement | ( | Measurement & | m | ) |
Write a measurement.
m | Measurement to be written |
void AbstractDetector::writeMeasurements | ( | std::list< Measurement *> & | m | ) |
Write a list of measurements.
m | List of measurements to be written |
bool AbstractDetector::lasOutput |
Flag specifying if detector output must be written in LAS format (true) or not (false)
double AbstractDetector::lasScale |
Scale factor specification to be used when LAS output format specified.
std::string AbstractDetector::outputFileLineFormatString |
Format string for output file line.
No longer used since synchronous file writers are now responsible of handling output writing