Helios++
Helios software for LiDAR simulations
IntersectionHandlingResult.h
1 #pragma once
2 
3 #include <utility>
4 #include <glm/glm.hpp>
5 #include <iostream>
6 
14 protected:
15  // *** ATTRIBUTES *** //
16  // ******************** //
20  glm::dvec3 intersectionPoint;
21  bool canContinue;
22 
23 public:
24  // *** CONSTRUCTION *** //
25  // ********************** //
33  glm::dvec3 intersectionPoint = glm::dvec3(0,0,0),
34  bool canContinue=false
35  ):
36  intersectionPoint(std::move(intersectionPoint)),
37  canContinue(canContinue)
38  {}
39 
40 
41  // *** M E T H O D S *** //
42  // ************************ //
47  inline bool canRayContinue(){return canContinue;}
53 
54  // *** STREAM OPERATORS *** //
55  // ************************** //
56  friend std::ostream& operator<< (
57  std::ostream &out,
59  );
60 
61 };
IntersectionHandlingResult(glm::dvec3 intersectionPoint=glm::dvec3(0, 0, 0), bool canContinue=false)
Build an IntersectionHandlingResult.
Definition: IntersectionHandlingResult.h:32
glm::dvec3 intersectionPoint
True if the ray can continue after intersection, False otherwise.
Definition: IntersectionHandlingResult.h:20
bool canRayContinue()
Check whether the ray can continue after intersection or not.
Definition: IntersectionHandlingResult.h:47
Output class for intersection handling methods.
Definition: IntersectionHandlingResult.h:13
glm::dvec3 getIntersectionPoint()
Obtain the intersection point.
Definition: IntersectionHandlingResult.h:52