Helios++
Helios software for LiDAR simulations
PolygonMirrorBeamDeflector Class Reference

Class representing a polygon mirror beam deflector. More...

#include <PolygonMirrorBeamDeflector.h>

Inheritance diagram for PolygonMirrorBeamDeflector:
Collaboration diagram for PolygonMirrorBeamDeflector:

Public Member Functions

 PolygonMirrorBeamDeflector (double _scanFreqMax_Hz, double _scanFreqMin_Hz, double _scanAngleMax_rad, double _scanAngleEffectiveMax_rad)
 Constructor for polygon mirror beam deflector. More...
 
std::shared_ptr< AbstractBeamDeflectorclone () override
 
void _clone (std::shared_ptr< AbstractBeamDeflector > abd) override
 
void doSimStep () override
 
bool lastPulseLeftDevice () override
 
- Public Member Functions inherited from AbstractBeamDeflector
 AbstractBeamDeflector (double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz)
 Base constructor for beam deflectors. More...
 
virtual void applySettings (std::shared_ptr< ScannerSettings > settings)
 Apply given scanner settings to beam deflector. More...
 
Rotation getEmitterRelativeAttitude ()
 Get the relative emitter attitude. More...
 
RotationgetEmitterRelativeAttitudeByReference ()
 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...
 

Protected Attributes

double cfg_device_scanAngleEffective_rad = 0
 Effective scan anngle (radians)
 
double cfg_device_scanAngleEffectiveMax_rad = 0
 Maximum effective scan angle (radians)
 

Additional Inherited Members

- Public Attributes inherited from AbstractBeamDeflector
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.
 

Detailed Description

Class representing a polygon mirror beam deflector.

Constructor & Destructor Documentation

◆ PolygonMirrorBeamDeflector()

PolygonMirrorBeamDeflector::PolygonMirrorBeamDeflector ( double  _scanFreqMax_Hz,
double  _scanFreqMin_Hz,
double  _scanAngleMax_rad,
double  _scanAngleEffectiveMax_rad 
)
inline

Constructor for polygon mirror beam deflector.

See also
PolygonMirrorBeamDeflector::cfg_device_scanAngleEffectiveMax_rad
AbstractBeamDeflector::AbstractBeamDeflector( double, double, double)

Member Function Documentation

◆ doSimStep()

void PolygonMirrorBeamDeflector::doSimStep ( )
overridevirtual

◆ lastPulseLeftDevice()

bool PolygonMirrorBeamDeflector::lastPulseLeftDevice ( )
overridevirtual

The documentation for this class was generated from the following files: