|
|
|
#ifndef SCENARIOGENERATOR_H
|
|
|
|
#define SCENARIOGENERATOR_H
|
|
|
|
|
|
|
|
#include <QMutex>
|
|
|
|
#include <QObject>
|
|
|
|
#include <QMetaType>
|
|
|
|
|
|
|
|
#include "model/ultrasoundModule/UsModule.h"
|
|
|
|
#include "model/scenarioGenerator/core/ScenGenCore.h"
|
|
|
|
#include "model/scenarioGenerator/core/ComputationalCore.h"
|
|
|
|
|
|
|
|
/*************************************************************************************************/
|
|
|
|
/**
|
|
|
|
* @brief This class is responsible for gathering user and system inputs and generate desired output
|
|
|
|
* for all of the system based on system provided algorithm
|
|
|
|
* @author Hessamoddin Hediyehloo(H-4nd-H)
|
|
|
|
* @date 2020/08/22(1399/6/1)
|
|
|
|
*/
|
|
|
|
/*************************************************************************************************/
|
|
|
|
class ScenarioGenerator : public UsModule
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
US_MODULE
|
|
|
|
SINGLETON(ScenarioGenerator)
|
|
|
|
|
|
|
|
private:
|
|
|
|
ScenGenCore* _core;
|
|
|
|
ComputationalCore* _computationalCore;
|
|
|
|
|
|
|
|
ScenarioGenerator();
|
|
|
|
~ScenarioGenerator() override;
|
|
|
|
|
|
|
|
ScenGenSystemParameters_t getSystemParameters();
|
|
|
|
|
|
|
|
void getApodization(ScenGenDatabase_t& database);
|
|
|
|
void getLpf(ScenGenDatabase_t& database);
|
|
|
|
void getLineFilter(ScenGenDatabase_t& database);
|
|
|
|
ScenGenDatabase_t getScenGenDatabase();
|
|
|
|
|
|
|
|
template<typename T>
|
|
|
|
T translateDatabaseData(const QList<QVariant> result);
|
|
|
|
|
|
|
|
void sendScenGenSoftwareUpdateCommand();
|
|
|
|
void processScenGenCommand(bool result, const CommandRequest& request);
|
|
|
|
|
|
|
|
//uncrustify off
|
|
|
|
public slots:
|
|
|
|
void newSoftwareScenario();
|
|
|
|
void newHardwareScenario();
|
|
|
|
|
|
|
|
void newAo(quint32 ao);
|
|
|
|
void newDtgc(QVector<quint32> dtgc);
|
|
|
|
void newLineFilter(QVector<quint32> lineFilter);
|
|
|
|
|
|
|
|
//uncrustify on
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif //SCENARIOGENERATOR_H
|