Helios++
Helios software for LiDAR simulations
RaySceneIntersection.h
1 #pragma once
2 
3 #include "Primitive.h"
4 #include "PrintUtils.h"
5 #include <ostream>
6 
13 public:
14  // *** ATTRIBUTES *** //
15  // ******************** //
23  glm::dvec3 point;
27  double incidenceAngle = 0;
31  double hitDistance = 0;
32 
33  // *** O P E R A T O R S *** //
34  // *************************** //
35  friend std::ostream& operator << (
36  std::ostream &out, RaySceneIntersection &itst
37  ){
38  out << itst.prim << "," << itst.point << "," << itst.incidenceAngle;
39  return out;
40  }
41 };
Abstract class defining the common behavior for all primitives.
Definition: Primitive.h:24
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
double hitDistance
The distance traversed by the ray until intersection.
Definition: RaySceneIntersection.h:31
glm::dvec3 point
Intersection point.
Definition: RaySceneIntersection.h:23
double incidenceAngle
Intersection incidence angle.
Definition: RaySceneIntersection.h:27