Helios++
Helios software for LiDAR simulations
PyTrajectoryWrapper.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Trajectory.h>
6 #include <PythonDVec3.h>
7 
8 namespace pyhelios{
9 
20 public:
21  // *** ATTRIBUTES *** //
22  // ******************** //
23  Trajectory &t;
24 
25  // *** CONSTRUCTION / DESTRUCTION *** //
26  // ************************************ //
27  PyTrajectoryWrapper(Trajectory &t) : t(t) {}
28  virtual ~PyTrajectoryWrapper() {}
29 
30  // *** GETTERS and SETTERS *** //
31  // ***************************** //
32  long getGpsTime() {return t.gpsTime;}
33  void setGpsTime(long gpsTime) {t.gpsTime = gpsTime;}
34  PythonDVec3 *getPosition() {return new PythonDVec3(t.position);}
35  void setPosition(double x, double y, double z)
36  {t.position = glm::dvec3(x, y, z);}
37  double getRoll() {return t.roll;}
38  void setRoll(double roll) {t.roll = roll;}
39  double getPitch() {return t.pitch;}
40  void setPitch(double pitch) {t.pitch = pitch;}
41  double getYaw() {return t.yaw;}
42  void setYaw(double yaw) {t.yaw = yaw;}
43 };
44 
45 }
46 
47 #endif
Class representing a concrete trajectory definition.
Definition: Trajectory.h:10
double pitch
Pitch angle in radians.
Definition: Trajectory.h:30
double gpsTime
GPS time in nanoseconds identifying the moment at which trajectory is registered.
Definition: Trajectory.h:18
double roll
Roll angle in radians.
Definition: Trajectory.h:26
glm::dvec3 position
Trajectory position/coordinates.
Definition: Trajectory.h:22
double yaw
Yaw angle in radians.
Definition: Trajectory.h:34
Wrapper for Trajectory class.
Definition: PyTrajectoryWrapper.h:19
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16