Helios++
Helios software for LiDAR simulations
PlatformSettings.h
1 #pragma once
2 
3 #include <glm/glm.hpp>
4 
5 #include "Asset.h"
6 
10 class PlatformSettings : public Asset {
11 public:
12  // *** ATTRIBUTES *** //
13  // ******************** //
17  double x = 0;
21  double y = 0;
25  double z = 0;
33  double yawAtDeparture = 0.0;
34 
39  bool onGround = false;
44  bool stopAndTurn = true;
49  bool smoothTurn = false;
54  bool slowdownEnabled = true;
55 
56  // 100 meter per sec are 360 km/h:
60  double movePerSec_m = 70;
61 
62  // *** GETTERS and SETTERS *** //
63  // ***************************** //
68  glm::dvec3 getPosition() {
69  return glm::dvec3(x, y, z);
70  }
71 
76  void setPosition(glm::dvec3 dest) {
77  x = dest.x;
78  y = dest.y;
79  z = dest.z;
80  }
81 
82 };
bool slowdownEnabled
Slowdown enabled flag.
Definition: PlatformSettings.h:54
Base class for all assets.
Definition: Asset.h:10
double y
Position y coordinate.
Definition: PlatformSettings.h:21
double x
Position x coordinate.
Definition: PlatformSettings.h:17
glm::dvec3 getPosition()
Obtain position as 3D vector.
Definition: PlatformSettings.h:68
double yawAtDeparture
Yaw angle (in radians) at platform departure.
Definition: PlatformSettings.h:33
bool yawAtDepartureSpecified
Flag.
Definition: PlatformSettings.h:29
Class representing platform settings.
Definition: PlatformSettings.h:10
void setPosition(glm::dvec3 dest)
Set position from 3D vector.
Definition: PlatformSettings.h:76
bool smoothTurn
Smooth turn.
Definition: PlatformSettings.h:49
bool stopAndTurn
Stop and turn flag.
Definition: PlatformSettings.h:44
double z
Position z coordinate.
Definition: PlatformSettings.h:25
bool onGround
On ground flag.
Definition: PlatformSettings.h:39
double movePerSec_m
Movement per seconds (in meters)
Definition: PlatformSettings.h:60