45 void doWork()
override;
48 std::vector<IReceivedRayProcessor*> m_processors;
49 std::unique_ptr<SampleGenerator> m_sampleGenerator;
54 std::atomic_uint32_t m_numSamplesTaken;
55 std::function<void()> m_onWorkStart;
56 std::function<void()> m_onWorkReport;
57 std::function<void()> m_onWorkFinish;
Marks the derived class as move only.
Definition IMoveOnly.h:23
Definition IReceivedRayProcessor.h:15
A target that can receive any physical quantity, typically electromagnetic energy....
Definition Receiver.h:22
Definition ReceiverSamplingWork.h:21
void onWorkReport(std::function< void()> func)
Definition ReceiverSamplingWork.cpp:170
void onWorkStart(std::function< void()> func)
Definition ReceiverSamplingWork.cpp:165
ReceiverSamplingWork & operator=(ReceiverSamplingWork &&other) noexcept
Definition ReceiverSamplingWork.cpp:180
void onWorkFinish(std::function< void()> func)
Definition ReceiverSamplingWork.cpp:175
void addProcessor(IReceivedRayProcessor *processor)
Definition ReceiverSamplingWork.cpp:158
ReceiverSamplingWork()
Definition ReceiverSamplingWork.cpp:16
void setSampleGenerator(std::unique_ptr< SampleGenerator > sampleGenerator)
Definition ReceiverSamplingWork.cpp:140
void setSampleDimensions(const math::TVector2< int64 > &rasterActualResPx, const math::TAABB2D< float64 > &rasterSampleWindowPx, const math::TVector2< int64 > &sampleRes)
Definition ReceiverSamplingWork.cpp:145
SamplingStatistics asyncGetStatistics() const
Definition ReceiverSamplingWork.cpp:54
Definition RenderWork.h:16
A 2-D Axis-Aligned Bounding Box (AABB).
Definition TAABB2D.h:26
Represents a 2-D vector.
Definition TVector2.h:19
The root for all renderer implementations.
Definition EEngineProject.h:6
Definition SamplingStatistics.h:9