Helios++
Helios software for LiDAR simulations
TrajectorySettings.h
1 #pragma once
2 
3 #include <Asset.h>
4 
5 #include <limits>
6 
13 class TrajectorySettings : public Asset{
14 public:
15  // *** ATTRIBUTES *** //
16  // ******************** //
27  double tStart;
38  double tEnd;
45 
46  // *** CONSTRUCTION / DESTRUCTION *** //
47  // ************************************ //
52  tStart(std::numeric_limits<double>::lowest()),
53  tEnd(std::numeric_limits<double>::max()),
54  teleportToStart(false)
55  {}
56  virtual ~TrajectorySettings() = default;
57 
58  // *** GETTERs and SETTErs *** //
59  // ***************************** //
66  inline bool hasStartTime() const
67  {return tStart != std::numeric_limits<double>::lowest();}
74  inline bool hasEndTime() const
75  {return tEnd != std::numeric_limits<double>::max();}
76 };
Base class for all assets.
Definition: Asset.h:10
Class representing trajectory settings.
Definition: TrajectorySettings.h:13
bool hasStartTime() const
Check whether the start time (tStart) of this TrajectorySettings is setted or not.
Definition: TrajectorySettings.h:66
double tStart
The start time of the trajectory.
Definition: TrajectorySettings.h:27
bool hasEndTime() const
Check whether the end time (tEnd) of this TrajectorySettings is setted or not.
Definition: TrajectorySettings.h:74
TrajectorySettings()
Trajectory settings default constructor.
Definition: TrajectorySettings.h:51
double tEnd
The end time of the trajectory.
Definition: TrajectorySettings.h:38
bool teleportToStart
When true, the platform will be teleported to the start point of the next leg's trajectory when start...
Definition: TrajectorySettings.h:44