5 #include <SimulatedPulse.h>
11 using std::shared_ptr;
12 using std::make_shared;
38 std::function<shared_ptr<PulseTask>(
61 inline shared_ptr<PulseTask>
build(
64 )
const {
return _build(spp,sp);}
Factory to make the adequate pulse task depending on the simulation.
Definition: PulseTaskFactory.h:22
void setScene(Scene &scene)
Set the scene associated to the pulse task factory.
Definition: PulseTaskFactory.h:105
std::function< shared_ptr< PulseTask > ScanningPulseProcess const &, SimulatedPulse const &)> _build
The build function to be used.
Definition: PulseTaskFactory.h:41
PulseTaskFactory(Scene &scene)
Constructor for the PulseTaskFactory.
Definition: PulseTaskFactory.cpp:9
shared_ptr< PulseTask > buildDynFullWaveformPulseRunnable(ScanningPulseProcess const &spp, SimulatedPulse const &sp) const
Build a DynFullWaveformPulseRunnable from given arguments.
Definition: PulseTaskFactory.cpp:24
virtual void configureBuildMethod()
Automatically set the _build function depending on current factory state.
Definition: PulseTaskFactory.cpp:35
shared_ptr< PulseTask > buildFullWaveformPulseRunnable(ScanningPulseProcess const &spp, SimulatedPulse const &sp) const
Build a FullWaveformPulseRunnable from given arguments.
Definition: PulseTaskFactory.cpp:17
shared_ptr< PulseTask > build(ScanningPulseProcess const &spp, SimulatedPulse const &sp) const
The main build method of the factory. It is the method that must be called to automatically build the...
Definition: PulseTaskFactory.h:61
Scene & scene
Reference to the scene to be scanned.
Definition: PulseTaskFactory.h:29
Scene & getScene() const
Obtain the scene associated to the pulse task factory.
Definition: PulseTaskFactory.h:99
Class defining the scanning pulse process interface.
Definition: ScanningPulseProcess.h:18
Class representing a scene asset.
Definition: Scene.h:28
Class representing a simulated laser pulse.
Definition: SimulatedPulse.h:10