Helios++
Helios software for LiDAR simulations
TimedPulse.h
1 #pragma once
2 
3 #include <Pulse.h>
4 
10 class TimedPulse : public Pulse{
11 protected:
12  // *** ATTRIBUTES *** //
13  // ******************** //
18  double time_ns;
19 
20 public:
21  // *** CONSTRUCTION / DESTRUCTION *** //
22  // ************************************ //
31  glm::dvec3 const &origin,
32  Rotation const &attitude,
33  double const time_ns
34  ) :
37  {}
38  virtual ~TimedPulse() = default;
39 
40 
41  // *** GETTERs and SETTERs *** //
42  // **************************** //
48  inline double getTime() const {return time_ns;}
54  inline void setTime(double const time_ns) {this->time_ns = time_ns;}
55 };
Class representing a laser pulse.
Definition: Pulse.h:13
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 time aware laser pulse.
Definition: TimedPulse.h:10
TimedPulse(glm::dvec3 const &origin, Rotation const &attitude, double const time_ns)
Time laser pulse constructor.
Definition: TimedPulse.h:30
void setTime(double const time_ns)
Set the start time of the pulse.
Definition: TimedPulse.h:54
double getTime() const
Obtain the start time of the pulse (in nanoseconds)
Definition: TimedPulse.h:48
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