Helios++
Helios software for LiDAR simulations
PyBeamDeflectorWrapper.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <AbstractBeamDeflector.h>
6 #include <memory>
7 
16 public:
17  // *** ATTRIBUTES *** //
18  // ******************** //
19  AbstractBeamDeflector &beamDeflector;
20 
21  // *** CONSTRUCTION *** //
22  // ********************** //
24  std::shared_ptr<AbstractBeamDeflector> beamDeflector
25  ) : beamDeflector(*beamDeflector) {}
26  virtual ~PyBeamDeflectorWrapper(){}
27 
28  // *** GETTERS and SETTERS *** //
29  // ***************************** //
30  inline double getScanFreqMax()
31  {return beamDeflector.cfg_device_scanFreqMax_Hz;}
32  inline void setScanFreqMax(double scanFreqMax_Hz)
33  {beamDeflector.cfg_device_scanFreqMax_Hz = scanFreqMax_Hz;}
34  inline double getScanFreqMin()
35  {return beamDeflector.cfg_device_scanFreqMin_Hz;}
36  inline void setScanFreqMin(double scanFreqMin_Hz)
37  {beamDeflector.cfg_device_scanFreqMin_Hz = scanFreqMin_Hz;}
38  inline double getScanAngleMax()
39  {return beamDeflector.cfg_device_scanAngleMax_rad;}
40  inline void setScanAngleMax(double scanAngleMax)
41  {beamDeflector.cfg_device_scanAngleMax_rad = scanAngleMax;}
42  inline double getScanFreq()
43  {return beamDeflector.cfg_device_scanFreqMin_Hz;}
44  inline void setScanFreq(double scanFreq)
45  {beamDeflector.cfg_device_scanFreqMin_Hz = scanFreq;}
46  inline double getScanAngle()
47  {return beamDeflector.cfg_setting_scanAngle_rad;}
48  inline void setScanAngle(double scanAngle)
49  {beamDeflector.cfg_setting_scanAngle_rad = scanAngle;}
50  inline double getVerticalAngleMin()
51  {return beamDeflector.cfg_setting_verticalAngleMin_rad;}
52  inline void setVerticalAngleMin(double verticalAngleMin)
53  {beamDeflector.cfg_setting_verticalAngleMin_rad = verticalAngleMin;}
54  inline double getVerticalAngleMax()
55  {return beamDeflector.cfg_setting_verticalAngleMax_rad;}
56  inline void setVerticalAngleMax(double verticalAngleMax)
57  {beamDeflector.cfg_setting_verticalAngleMax_rad = verticalAngleMax;}
58  inline double getCurrentBeamAngle()
59  {return beamDeflector.state_currentBeamAngle_rad;}
60  inline void setCurrentBeamAngle(double currentBeamAngle)
61  {beamDeflector.state_currentBeamAngle_rad = currentBeamAngle;}
62  inline double getAngleDiff()
63  {return beamDeflector.state_angleDiff_rad;}
64  inline void setAngleDiff(double angleDiff)
65  {beamDeflector.state_angleDiff_rad = angleDiff;}
66  inline double getCachedAngleBetweenPulses()
67  {return beamDeflector.cached_angleBetweenPulses_rad;}
68  inline void setCachedAngleBetweenPulses(double angleBetweenPulses)
69  {beamDeflector.cached_angleBetweenPulses_rad = angleBetweenPulses;}
70  inline Rotation& getEmitterRelativeAttitude()
71  {return beamDeflector.getEmitterRelativeAttitudeByReference();}
72 };
73 
74 #endif
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
Wrapper for AbstractBeamDeflector class.
Definition: PyBeamDeflectorWrapper.h:15
Definition: Rotation.h:80