Helios++
Helios software for LiDAR simulations
PyMeasurementWrapper.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Measurement.h>
6 #include <PythonDVec3.h>
7 
16 public:
17  // *** ATTRIBUTES *** //
18  // ******************** //
19  Measurement &m;
20 
21  // *** CONSTRUCTION / DESTRUCTION *** //
22  // ************************************ //
23  PyMeasurementWrapper(Measurement &m) : m(m) {}
24  virtual ~PyMeasurementWrapper() {}
25 
26  // *** GETTERS and SETTERS *** //
27  // ***************************** //
28  std::string getHitObjectId() {return m.hitObjectId;}
29  void setHitObjectId(std::string const hitObjectId)
30  {m.hitObjectId = hitObjectId;}
31  PythonDVec3 *getPosition() {return new PythonDVec3(m.position);}
32  void setPosition(double x, double y, double z)
33  {m.position = glm::dvec3(x, y, z);}
34  PythonDVec3 *getBeamDirection() {return new PythonDVec3(m.beamDirection);}
35  void setBeamDirection(double x, double y, double z)
36  {m.beamDirection = glm::dvec3(x, y, z);}
37  PythonDVec3 *getBeamOrigin() {return new PythonDVec3(m.beamOrigin);}
38  void setBeamOrigin(double x, double y, double z)
39  {m.beamOrigin = glm::dvec3(x, y, z);}
40  double getDistance() {return m.distance;}
41  void setDistance(double distance) {m.distance = distance;}
42  double getIntensity() {return m.intensity;}
43  void setIntensity(double intensity) {m.intensity = intensity;}
44  double getEchoWidth() {return m.echo_width;}
45  void setEchoWidth(double echoWidth) {m.echo_width = echoWidth;}
46  int getReturnNumber() {return m.returnNumber;}
47  void setReturnNumber(int returnNumber) {m.returnNumber = returnNumber;}
48  int getPulseReturnNumber() {return m.pulseReturnNumber;}
49  void setPulseReturnNumber(double pulseReturnNumber)
50  {m.pulseReturnNumber = pulseReturnNumber;}
51  int getFullwaveIndex() {return m.fullwaveIndex;}
52  void setFullwaveIndex(int fullwaveIndex) {m.fullwaveIndex = fullwaveIndex;}
53  int getClassification() {return m.classification;}
54  void setClassification(int classification)
55  {m.classification = classification;}
56  long getGpsTime() {return m.gpsTime;}
57  void setGpsTime(long gpsTime) {m.gpsTime = gpsTime;}
58 };
59 
60 #endif
glm::dvec3 beamDirection
Beam director vector.
Definition: Measurement.h:28
std::string hitObjectId
ID of hit object.
Definition: Measurement.h:20
long gpsTime
Measurement GPS time.
Definition: Measurement.h:64
int fullwaveIndex
Full wave index.
Definition: Measurement.h:56
Class representing a measurement.
Definition: Measurement.h:12
int pulseReturnNumber
Pulse return number.
Definition: Measurement.h:52
glm::dvec3 position
Definition: Measurement.h:24
Wrapper for Measurement class.
Definition: PyMeasurementWrapper.h:15
int classification
Point class.
Definition: Measurement.h:60
double intensity
Point intensity.
Definition: Measurement.h:40
double echo_width
Echo width.
Definition: Measurement.h:44
int returnNumber
Measurement return number.
Definition: Measurement.h:48
double distance
Intersection distance.
Definition: Measurement.h:36
glm::dvec3 beamOrigin
Beam origin.
Definition: Measurement.h:32
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14