Helios++
Helios software for LiDAR simulations
PyDetectorWrapper.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyDetectorWrapper.h>
6 #include <filems/facade/FMSFacade.h>
8 #include <AbstractDetector.h>
9 
10 #include <memory>
11 
12 
13 namespace pyhelios{
14 
23 public:
24  // *** ATTRIBUTES *** //
25  // ******************** //
26  AbstractDetector &detector;
27 
28  // *** CONSTRUCTION *** //
29  // ********************** //
31  std::shared_ptr<AbstractDetector> detector
32  ) :
33  detector(*detector) {}
34 
35  virtual ~PyDetectorWrapper() {}
36 
37  // *** GETTERS and SETTERS *** //
38  // ***************************** //
39  inline double getAccuracy()
40  {return detector.cfg_device_accuracy_m;}
41  inline void setAccuracy(double const accuracy)
42  {detector.cfg_device_accuracy_m = accuracy;}
43  inline double getRangeMin()
44  {return detector.cfg_device_rangeMin_m;}
45  inline void setRangeMin(double const rangeMin)
46  {detector.cfg_device_rangeMin_m = rangeMin;}
47  inline double getRangeMax()
48  {return detector.cfg_device_rangeMax_m;}
49  inline void setRangeMax(double const rangeMax)
50  {detector.cfg_device_rangeMax_m = rangeMax;}
51  inline double getLasScale()
52  {return detector.getFMS()->write.getMeasurementWriterLasScale();}
53  inline void setLasScale(double const lasScale)
54  {detector.getFMS()->write.setMeasurementWriterLasScale(lasScale);}
55 };
56 
57 }
58 
59 #endif
Base abstract class for detectors.
Definition: AbstractDetector.h:20
double cfg_device_rangeMin_m
Minimum range for detector in meters.
Definition: AbstractDetector.h:54
std::shared_ptr< FMSFacade > getFMS() const
Obtain the main facade to file management system.
Definition: AbstractDetector.h:131
double cfg_device_rangeMax_m
Maximum range for detector in meters.
Definition: AbstractDetector.h:58
double cfg_device_accuracy_m
Detector accuracy in meters.
Definition: AbstractDetector.h:50
The main facade for file management system.
Definition: FMSFacade.h:19
Wrapper for AbstractDetector class.
Definition: PyDetectorWrapper.h:22