Helios++
Helios software for LiDAR simulations
|
Base abstract class for beam deflectors. More...
#include <AbstractBeamDeflector.h>
Public Member Functions | |
AbstractBeamDeflector (double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz) | |
Base constructor for beam deflectors. More... | |
virtual std::shared_ptr< AbstractBeamDeflector > | clone ()=0 |
virtual void | _clone (std::shared_ptr< AbstractBeamDeflector > abd) |
virtual void | applySettings (std::shared_ptr< ScannerSettings > settings) |
Apply given scanner settings to beam deflector. More... | |
virtual bool | lastPulseLeftDevice () |
Check if last pulse left device (true) or not (false) More... | |
virtual void | doSimStep ()=0 |
Perform computations for current simulation step. | |
Rotation | getEmitterRelativeAttitude () |
Get the relative emitter attitude. More... | |
Rotation & | getEmitterRelativeAttitudeByReference () |
Get the relative emitter attitude by referencce. More... | |
virtual void | setScanAngle_rad (double scanAngle_rad) |
Set the scan angle. More... | |
virtual void | setScanFreq_Hz (double scanFreq_hz) |
Set the scanning frequency. More... | |
Public Attributes | |
double | cfg_device_scanFreqMax_Hz = 0 |
Minimum scanning frequency (hertz) | |
double | cfg_device_scanFreqMin_Hz = 0 |
Maximum scanning frequency (hertz) | |
double | cfg_device_scanAngleMax_rad = 0 |
Maximum scanning angle (radians) | |
double | cfg_setting_scanFreq_Hz = 0 |
Scanning frequency (hertz) | |
double | cfg_setting_scanAngle_rad = 0 |
Scanning angle (radians) | |
double | cfg_setting_verticalAngleMin_rad = 0 |
Minimum vertical scanning angle (radians) | |
double | cfg_setting_verticalAngleMax_rad = 0 |
Maximum vertical scanning angle (radians) | |
double | state_currentBeamAngle_rad = 0 |
Current beam angle (radians) | |
double | state_angleDiff_rad = 0 |
Angle differential (radians) | |
double | cached_angleBetweenPulses_rad |
Angle between pulses (radians) | |
Rotation | cached_emitterRelativeAttitude = Rotation(glm::dvec3(1, 0, 0), 0) |
Relative emitter attitude. | |
Base abstract class for beam deflectors.
|
inline |
Base constructor for beam deflectors.
|
virtual |
Apply given scanner settings to beam deflector.
settings | Scanner settings |
Reimplemented in OscillatingMirrorBeamDeflector, FiberArrayBeamDeflector, and ConicBeamDeflector.
Rotation AbstractBeamDeflector::getEmitterRelativeAttitude | ( | ) |
Get the relative emitter attitude.
|
inline |
Get the relative emitter attitude by referencce.
|
virtual |
Check if last pulse left device (true) or not (false)
Reimplemented in PolygonMirrorBeamDeflector.
|
virtual |
Set the scan angle.
scanAngle_rad | New scan angle (radians) |
Reimplemented in OscillatingMirrorBeamDeflector.
|
virtual |
Set the scanning frequency.
scanFreq_hz | New scanning frequency (hertz) |
Reimplemented in OscillatingMirrorBeamDeflector.