Helios++
Helios software for LiDAR simulations
DemoSelector.h
1 #ifdef PCL_BINDING
2 #pragma once
3 
4 #include <memory>
5 #include <string>
6 
7 namespace HeliosDemos{
8 
9 using std::shared_ptr;
10 using std::string;
11 
18 private:
19  // *** SINGLETON: Instance *** //
20  // ***************************** //
25  static shared_ptr<DemoSelector> ds;
26 
27  // *** CONSTRUCTION / DESTRUCTION *** //
28  // ************************************ //
32  DemoSelector() = default;
33 public:
34  virtual ~DemoSelector() {};
35  // *** SINGLETON: Getter *** //
36  // *************************** //
42  static shared_ptr<DemoSelector> getInstance();
43 
44  // *** DEMO SELECTION METHOD *** //
45  // ******************************* //
52  void select(
53  string const name,
54  string const surveyPath="",
55  string const assetsPath=""
56  );
57 };
58 }
59 #endif
Simple class to handle demo selection.
Definition: DemoSelector.h:17
static shared_ptr< DemoSelector > ds
Singleton instance of demo selector.
Definition: DemoSelector.h:25
static shared_ptr< DemoSelector > getInstance()
Singleton getter for the demo selector instance.
Definition: DemoSelector.cpp:22
DemoSelector()=default
Default constructor for demo selector.
void select(string const name, string const surveyPath="", string const assetsPath="")
Run the demo with given name if any.
Definition: DemoSelector.cpp:29