fast::ComputationThread class

Base classes

class Object
Base class for all FAST objects.

Constructors, destructors, conversion operators

~ComputationThread()

Public functions

auto isRunning() -> bool
void stop()
Stop this thread and block until it is done. To stop without blocking use ComputationThread::stopWithoutBlocking().
void stopWithoutBlocking()
Stop this thread, but return immediately. This function does not wait until the thread is finished. Use ComputationThread::stop() for that.
void addView(View* view)
void clearViews()
auto getView(int index) const -> View*
auto getViews() const -> std::vector<View*>
void addProcessObject(std::shared_ptr<ProcessObject> po)
void clearProcessObjects()
auto getProcessObjects() const -> std::vector<std::shared_ptr<ProcessObject>>
auto getProcessObjects(int index) const -> std::shared_ptr<ProcessObject>
auto start() -> QThread*
void setPipeline(const Pipeline& pipeline)
Set a pipeline to run in this computation thread.
void reset()

Signals

void threadFinished()
Signal which is emitted when thread is done and exciting its computation loop.
void pipelineFinished()
Signal which is emitted when the pipeline is finished.
void criticalError(QString msg)
Signal when critical error happens in thread.

Public slots

void run()

Function documentation

QThread* fast::ComputationThread::start()

Returns QThread

Start this computation thread in a QThread

void fast::ComputationThread::setPipeline(const Pipeline& pipeline)

Set a pipeline to run in this computation thread.

Parameters
pipeline

void fast::ComputationThread::pipelineFinished() signal

Signal which is emitted when the pipeline is finished.

Signal which is emitted when the pipeline assigned to this thread is finished If a pipeline does not have any streamer is is marked as finished after 1 iteration. If a pipeline has streamers it is signaled as finished when all streamers have a current output data frame which is marked as last frame.