OpenHantek
PostProcessing Class Reference

#include <postprocessing.h>

Inheritance diagram for PostProcessing:

Public Slots

void input (const DSOsamples *data)
 

Signals

void processingFinished (std::shared_ptr< PPresult > result)
 

Public Member Functions

 PostProcessing (unsigned channelCount)
 
void registerProcessor (Processor *processor)
 

Static Private Member Functions

static void convertData (const DSOsamples *source, PPresult *destination)
 

Private Attributes

const unsigned channelCount
 A new PPresult is created for each new input. We need to know the channel size. More...
 
std::vector< Processor * > processors
 The list of processors. Processors are not memory managed by this class. More...
 
std::unique_ptr< PPresultcurrentData
 

Detailed Description

Manages all post processing processors. Register another processor with registerProcessor(p). All processors, in the order of insertion, will process the input data, given by input(data). The final result will be made available via the processingFinished signal.

Constructor & Destructor Documentation

◆ PostProcessing()

PostProcessing::PostProcessing ( unsigned  channelCount)
explicit

Member Function Documentation

◆ convertData()

void PostProcessing::convertData ( const DSOsamples source,
PPresult destination 
)
staticprivate

◆ input

void PostProcessing::input ( const DSOsamples data)
slot

Start processing new data. The actual data may be processed in another thread if you have moved this class object into another thread.

Parameters
data

◆ processingFinished

void PostProcessing::processingFinished ( std::shared_ptr< PPresult result)
signal

◆ registerProcessor()

void PostProcessing::registerProcessor ( Processor processor)

Adds a new processor that is called when a new input arrived. The order of the processors is imporant. The first added processor will be called first. This class does not take ownership of the processors.

Parameters
processor

Field Documentation

◆ channelCount

const unsigned PostProcessing::channelCount
private

A new PPresult is created for each new input. We need to know the channel size.

◆ currentData

std::unique_ptr<PPresult> PostProcessing::currentData
private

◆ processors

std::vector<Processor *> PostProcessing::processors
private

The list of processors. Processors are not memory managed by this class.


The documentation for this class was generated from the following files: