Helios++
Helios software for LiDAR simulations
RisleyBeamDeflector Class Reference

Class representing a risley prisms beam deflector. More...

#include <RisleyBeamDeflector.h>

Inheritance diagram for RisleyBeamDeflector:
Collaboration diagram for RisleyBeamDeflector:

Public Member Functions

 RisleyBeamDeflector (double scanAngleMax_rad, double rotorFreq_Hz_1, double rotorFreq_Hz_2)
 Constructor for risley prisms beam deflector. More...
 
std::shared_ptr< AbstractBeamDeflectorclone () override
 
void _clone (std::shared_ptr< AbstractBeamDeflector > abd) override
 
void applySettings (std::shared_ptr< ScannerSettings > settings) override
 
void doSimStep () override
 
void setScanAngle_rad (double scanAngle_rad) override
 
void setScanFreq_Hz (double scanFreq_Hz) override
 
- Public Member Functions inherited from AbstractBeamDeflector
 AbstractBeamDeflector (double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz)
 Base constructor for beam deflectors. More...
 
virtual bool lastPulseLeftDevice ()
 Check if last pulse left device (true) or not (false) More...
 
virtual void restartDeflector ()
 Restart the deflector. This method is meant to be invoked whenever the deflector needs to be restarted. Which generally occurs when the previous leg was inactive.
 
Rotation getEmitterRelativeAttitude ()
 Get the relative emitter attitude. More...
 
RotationgetEmitterRelativeAttitudeByReference ()
 Get the relative emitter attitude by referencce. More...
 

Public Attributes

double deltaT = 0
 
double pulseFreq = 0
 
double time = 0
 
double scanAngle = 0
 Scan Angle (defined as the half angle)
 
double rotorSpeed_rad_1 = 0
 
double rotorSpeed_rad_2 = 0
 
- 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 risley prisms beam deflector.

Constructor & Destructor Documentation

◆ RisleyBeamDeflector()

RisleyBeamDeflector::RisleyBeamDeflector ( double  scanAngleMax_rad,
double  rotorFreq_Hz_1,
double  rotorFreq_Hz_2 
)
inline

Constructor for risley prisms beam deflector.

See also
RisleyBeamDeflector::cfg_device_scanProduct
AbstractBeamDeflector::AbstractBeamDeflector( double, double, double)

Member Function Documentation

◆ applySettings()

void RisleyBeamDeflector::applySettings ( std::shared_ptr< ScannerSettings settings)
overridevirtual

◆ doSimStep()

void RisleyBeamDeflector::doSimStep ( )
overridevirtual

◆ setScanAngle_rad()

void RisleyBeamDeflector::setScanAngle_rad ( double  scanAngle_rad)
overridevirtual

◆ setScanFreq_Hz()

void RisleyBeamDeflector::setScanFreq_Hz ( double  scanFreq_Hz)
overridevirtual

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