Helios++
Helios software for LiDAR simulations
RaycastingDemo.h
1 #ifdef PCL_BINDING
2 #pragma once
3 
4 #include <demo/DynamicSceneDemo.h>
5 #include <visualhelios/VHRaycastingCanvas.h>
6 #include <scanner/Scanner.h>
7 
8 namespace HeliosDemos{
9 
11 
12 using std::string;
13 using std::shared_ptr;
14 
26 protected:
27  // *** ATTRIBUTES *** //
28  // ******************** //
32  shared_ptr<Scanner> scanner = nullptr;
33 
34 public:
35  // *** CONSTRUCTION / DESTRUCTION *** //
36  // ************************************ //
41  RaycastingDemo(string const surveyPath, string const assetsPath) :
42  DynamicSceneDemo("Raycasting demo", surveyPath, assetsPath)
43  {}
44  virtual ~RaycastingDemo() = default;
45 
46  // *** R U N *** //
47  // *************** //
51  void run() override;
52 
53  // *** U T I L S *** //
54  // ********************* //
66  shared_ptr<VHRaycastingCanvas> buildCanvas(
67  shared_ptr<Survey> survey
68  );
69 };
70 
71 }
72 
73 #endif
Dynamic scene demo.
Definition: DynamicSceneDemo.h:28
Raycasting demo.
Definition: RaycastingDemo.h:25
void run() override
Definition: RaycastingDemo.cpp:21
RaycastingDemo(string const surveyPath, string const assetsPath)
Ray casting demo constructor.
Definition: RaycastingDemo.h:41
shared_ptr< VHRaycastingCanvas > buildCanvas(shared_ptr< Survey > survey)
Build a visual Helios ray casting canvas from given survey.
Definition: RaycastingDemo.cpp:40
shared_ptr< Scanner > scanner
The scanner emitting the rays.
Definition: RaycastingDemo.h:32
string assetsPath
Path to the assets directory.
Definition: SurveyDemo.h:37
string surveyPath
Path to the survey XML file.
Definition: SurveyDemo.h:33
Visual Helios Ray casting Canvas is a class which supports rendering a dynamic scene together with th...
Definition: VHRaycastingCanvas.h:20