Helios++
Helios software for LiDAR simulations
Trajectory.h
1 #pragma once
2 
3 #include <glm/glm.hpp>
4 
8 class Trajectory{
9 public:
10  // *** ATTRIBUTES *** //
11  // ******************** //
16  long gpsTime = 0;
20  glm::dvec3 position = glm::dvec3(0, 0, 0);
24  double roll = 0;
28  double pitch = 0;
32  double yaw = 0;
33 
34  // *** CONSTRUCTION / DESTRUCTION *** //
35  // ************************************ //
39  Trajectory() = default;
49  long gpsTime,
50  glm::dvec3 position,
51  double roll,
52  double pitch,
53  double yaw
54  ) :
55  gpsTime(gpsTime),
56  position(position),
57  roll(roll),
58  pitch(pitch),
59  yaw(yaw)
60  {}
61  Trajectory(const Trajectory &t){
62  gpsTime = t.gpsTime;
63  position = glm::dvec3(t.position);
64  roll = t.roll;
65  pitch = t.pitch;
66  yaw = t.yaw;
67  }
68 
69  // *** O P E R A T O R S *** //
70  // *************************** //
71  friend std::ostream & operator << (std::ostream &out, Trajectory &t){
72  out << t.gpsTime << "," << t.position.x << "," << t.position.y << ","
73  << t.position.z << "," << t.roll << ","
74  << t.pitch << "," << t.yaw;
75  return out;
76  }
77 };
Trajectory(long gpsTime, glm::dvec3 position, double roll, double pitch, double yaw)
Trajectory constructor.
Definition: Trajectory.h:48
glm::dvec3 position
Trajectory position/coordinates.
Definition: Trajectory.h:20
Class representing a concrete trajectory definition.
Definition: Trajectory.h:8
double roll
Roll angle in radians.
Definition: Trajectory.h:24
double pitch
Pitch angle in radians.
Definition: Trajectory.h:28
Trajectory()=default
Default trajectory constructor.
long gpsTime
GPS time in milliseconds identifying the moment at which trajectory is registered.
Definition: Trajectory.h:16
double yaw
Yaw angle in radians.
Definition: Trajectory.h:32