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 
8 namespace pyhelios{
9 
16 class PythonDVec3 {
17  // *** ATTRIBUTES *** //
18  // ******************** //
19 private:
20  bool release = 1;
21 
22 public:
23  glm::dvec3 * v = nullptr;
24 
25  // *** CONSTRUCTION *** //
26  // ********************** //
27  PythonDVec3(glm::dvec3 const v) {
28  this->v = new glm::dvec3(v);
29  release = true;
30  }
31  PythonDVec3(glm::dvec3 *v){
32  this->v = v;
33  release = false;
34  }
35  virtual ~PythonDVec3(){
36  if(release && v!=nullptr) delete v;
37  }
38 
39  // *** GETTERS and SETTERS *** //
40  // ***************************** //
41  double getX() {return v->x;}
42  void setX(double x) {v->x = x;}
43  double getY() {return v->y;}
44  void setY(double y) {v->y = y;}
45  double getZ() {return v->z;}
46  void setZ(double z) {v->z = z;}
47 
48 };
49 
50 }
51 
52 #endif
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16