OpenHantek
graphgenerator.h
1 // SPDX-License-Identifier: GPL-2.0+
2 
3 #pragma once
4 
5 #include <deque>
6 
7 #include <QObject>
8 #include <QVector3D>
9 
10 #include "hantekdso/enums.h"
11 #include "hantekprotocol/types.h"
12 #include "processor.h"
13 
14 struct DsoSettingsScope;
15 class PPresult;
16 namespace Dso {
17 struct ControlSpecification;
18 }
19 
21 class GraphGenerator : public QObject, public Processor {
22  Q_OBJECT
23 
24  public:
25  GraphGenerator(const DsoSettingsScope *scope, bool isSoftwareTriggerDevice);
26  void generateGraphsXY(PPresult *result, const DsoSettingsScope *scope);
27 
28  bool isReady() const;
29 
30  private:
31  void generateGraphsTYvoltage(PPresult *result);
32  void generateGraphsTYspectrum(PPresult *result);
33 
34  private:
35  bool ready = false;
36  const DsoSettingsScope *scope;
37  const bool isSoftwareTriggerDevice;
38 
39  // Processor interface
40  private:
41  virtual void process(PPresult *) override;
42 };
Generates ready to be used vertex arrays.
Definition: graphgenerator.h:21
Definition: processor.h:5
Holds the settings for the oscilloscope.
Definition: scopesettings.h:77
Post processing results.
Definition: ppresult.h:31
Definition: TriggerDock.h:15