Helios++
Helios software for LiDAR simulations
SimulatedPulse.h
1 #pragma once
2 
3 #include <TimedPulse.h>
4 
10 class SimulatedPulse : public TimedPulse{
11 protected:
12  // *** ATTRIBUTES *** //
13  // ******************** //
30  unsigned int legIndex;
44  size_t deviceIndex;
45 
46 public:
47  // *** CONSTRUCTION / DESTRUCTION *** //
48  // ************************************ //
60  glm::dvec3 const &origin,
61  Rotation const &attitude,
62  double const time_ns,
63  unsigned int legIndex,
64  int const pulseNumber,
65  size_t const deviceIndex
66  ) :
71  {}
72  virtual ~SimulatedPulse() = default;
73 
74 
75  // *** GETTERs and SETTERs *** //
76  // ***************************** //
82  inline unsigned int getLegIndex() const {return legIndex;}
88  inline void setLegIndex(unsigned int const legIndex)
89  {this->legIndex = legIndex;}
95  inline int getPulseNumber() const {return pulseNumber;}
101  inline void setPulseNumber(int const pulseNumber)
102  {this->pulseNumber = pulseNumber;}
108  inline size_t getDeviceIndex() const {return deviceIndex;}
114  inline void setDeviceIndex(size_t const deviceIndex)
115  {this->deviceIndex = deviceIndex;}
116 };
glm::dvec3 origin
The origin of the pulse, typically named as the point .
Definition: Pulse.h:20
Rotation attitude
The attitude of the ray.
Definition: Pulse.h:24
Definition: Rotation.h:80
Class representing a simulated laser pulse.
Definition: SimulatedPulse.h:10
size_t deviceIndex
The index of the scanning device inside the scanner context generating the pulse.
Definition: SimulatedPulse.h:44
void setLegIndex(unsigned int const legIndex)
Set the leg index of the pulse.
Definition: SimulatedPulse.h:88
void setDeviceIndex(size_t const deviceIndex)
Set the device index of the emitter scanning device.
Definition: SimulatedPulse.h:114
unsigned int getLegIndex() const
Obtain the leg index of the pulse.
Definition: SimulatedPulse.h:82
void setPulseNumber(int const pulseNumber)
Set the pulse number wrt emitter scanning device.
Definition: SimulatedPulse.h:101
SimulatedPulse(glm::dvec3 const &origin, Rotation const &attitude, double const time_ns, unsigned int legIndex, int const pulseNumber, size_t const deviceIndex)
Simulated laser pulse constructor.
Definition: SimulatedPulse.h:59
unsigned int legIndex
The index of the simulation leg generating the pulse.
Definition: SimulatedPulse.h:30
size_t getDeviceIndex() const
Obtain the device index of the emitter scanning device.
Definition: SimulatedPulse.h:108
int getPulseNumber() const
Obtain the pulse number wrt emitter scanning device.
Definition: SimulatedPulse.h:95
int pulseNumber
The number of the pulse, counting from the perspective of the concrete scanning device which generate...
Definition: SimulatedPulse.h:35
Class representing a time aware laser pulse.
Definition: TimedPulse.h:10
double time_ns
The start time of the pulse (in nanoseconds). Typically in real world applications it is the GPS time...
Definition: TimedPulse.h:18