3 #include <scanner/detector/PulseTask.h>
4 #include <scanner/detector/AbstractDetector.h>
5 #include <noise/RandomnessGenerator.h>
7 #include "LasSpecification.h"
9 #include <scanner/SimulatedPulse.h>
25 std::shared_ptr<Scanner>
scanner =
nullptr;
29 std::shared_ptr<AbstractDetector>
detector =
nullptr;
46 glm::dvec3 &beamOrigin,
47 glm::dvec3 &beamDirection
59 std::shared_ptr<Scanner>
const scanner,
89 std::vector<Measurement> *allMeasurements,
90 std::mutex *allMeasurementsMutex,
91 std::vector<Measurement> *cycleMeasurements,
92 std::mutex *cycleMeasurementsMutex
121 glm::dvec3 &beamOrigin,
122 glm::dvec3 &beamDirection
206 glm::dvec3 &beamOrigin,
207 glm::dvec3 &beamDirection
Base abstract class for pulse runnables.
Definition: AbstractPulseRunnable.h:18
std::shared_ptr< Scanner > scanner
Scanner used to simulate the pulse.
Definition: AbstractPulseRunnable.h:25
virtual void initialize()
Initialize pending attributes of the abstract pulse runnable before doing further computations.
Definition: AbstractPulseRunnable.cpp:55
void capturePoint(Measurement &m, RandomnessGenerator< double > &rg, std::vector< Measurement > *allMeasurements, std::mutex *allMeasurementsMutex, std::vector< Measurement > *cycleMeasurements, std::mutex *cycleMeasurementsMutex)
Capture point if proceed and write it.
Definition: AbstractPulseRunnable.cpp:58
AbstractPulseRunnable(std::shared_ptr< Scanner > const scanner, SimulatedPulse const &pulse)
Base constructor for pulse runnables.
Definition: AbstractPulseRunnable.cpp:17
std::shared_ptr< AbstractDetector > detector
Detector used to simulate pulse.
Definition: AbstractPulseRunnable.h:29
std::function< void(RandomnessGenerator< double > &rg, double &distance, glm::dvec3 &beamOrigin, glm::dvec3 &beamDirection)> applyMeasurementError
Function to apply error to received measurement.
Definition: AbstractPulseRunnable.h:48
void applyMeasurementErrorFromExpr(RandomnessGenerator< double > &rg, double &distance, glm::dvec3 &beamOrigin, glm::dvec3 &beamDirection)
Apply error to received measurement.
Definition: AbstractPulseRunnable.cpp:101
void applyMeasurementErrorDirectly(RandomnessGenerator< double > &rg, double &distance, glm::dvec3 &beamOrigin, glm::dvec3 &beamDirection)
Apply error to received measurement.
Definition: AbstractPulseRunnable.cpp:93
Scene & scene
Reference to the scene that is being scanned.
Definition: AbstractPulseRunnable.h:37
SimulatedPulse pulse
The definition of the pulse to be simulated.
Definition: AbstractPulseRunnable.h:33
Class representing a measurement.
Definition: Measurement.h:13
Pulse task interface.
Definition: PulseTask.h:13
Class representing a scanner asset.
Definition: Scanner.h:28
Class representing a scene asset.
Definition: Scene.h:28
Class representing a simulated laser pulse.
Definition: SimulatedPulse.h:10