Helios++
Helios software for LiDAR simulations
PythonDVec3.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <glm/glm.hpp>
6 #include <memory>
7 
14 class PythonDVec3 {
15  // *** ATTRIBUTES *** //
16  // ******************** //
17 private:
18  bool release = 1;
19 
20 public:
21  glm::dvec3 * v = nullptr;
22 
23  // *** CONSTRUCTION *** //
24  // ********************** //
25  PythonDVec3(glm::dvec3 const v) {
26  this->v = new glm::dvec3(v);
27  release = true;
28  }
29  PythonDVec3(glm::dvec3 *v){
30  this->v = v;
31  release = false;
32  }
33  virtual ~PythonDVec3(){
34  if(release && v!=nullptr) delete v;
35  }
36 
37  // *** GETTERS and SETTERS *** //
38  // ***************************** //
39  double getX() {return v->x;}
40  void setX(double x) {v->x = x;}
41  double getY() {return v->y;}
42  void setY(double y) {v->y = y;}
43  double getZ() {return v->z;}
44  void setZ(double z) {v->z = z;}
45 
46 };
47 
48 #endif
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14