Helios++
Helios software for LiDAR simulations
PyRaySceneIntersectionWrapper.h
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PythonDVec3.h>
6 
7 namespace pyhelios{
8 
17 public:
18  // *** ATTRIBUTES *** //
19  // ******************** //
21 
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
25  rsi(new RaySceneIntersection(rsi)) {}
26  virtual ~PyRaySceneIntersectionWrapper() {delete rsi;}
27 
28  // *** GETTERS and SETTERS *** //
29  // ***************************** //
30  PyPrimitiveWrapper * getPrimitive()
31  {return new PyPrimitiveWrapper(rsi->prim);}
32  PythonDVec3 * getPoint()
33  {return new PythonDVec3(rsi->point);}
34  double getIncidenceAngle() {return rsi->incidenceAngle;}
35  void setIncidenceAngle(double incidenceAngle)
36  {rsi->incidenceAngle = incidenceAngle;}
37 
38 };
39 
40 }
41 
42 #endif
Class representing a the intersection of a ray over a scene made of primitives.
Definition: RaySceneIntersection.h:12
Primitive * prim
Primitive intersected by the ray.
Definition: RaySceneIntersection.h:19
glm::dvec3 point
Intersection point.
Definition: RaySceneIntersection.h:23
double incidenceAngle
Intersection incidence angle.
Definition: RaySceneIntersection.h:27
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:20
Wrapper for RaySceneIntersection.
Definition: PyRaySceneIntersectionWrapper.h:16
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16