XNSim/XNMonitor/ModelTopicMonitor/AerodynamicsMonitor.h

73 lines
1.6 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file AerodynamicsMonitor.h
* @author jinchao
* @brief
* @version 1.0
* @date 2025-03-10
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include "../TopicMonitorFactory/TopicMonitor.h"
#include "../../XNModels/XNAerodynamics/XNAerodynamicsInterface/XNAerodynamicsInterface.hpp"
#include <QMap>
/**
* @brief
*/
class AerodynamicsMonitor : public TopicMonitor
{
Q_OBJECT
public:
/**
* @brief
* @param parent
*/
AerodynamicsMonitor(QObject *parent = nullptr);
/**
* @brief
*/
virtual ~AerodynamicsMonitor();
/**
* @brief
* @param topicName
* @return
*/
virtual bool startMonitoring(const QString &topicName) override;
/**
* @brief
* @param topicName
* @return
*/
virtual void stopMonitoring(const QString &topicName) override;
/**
* @brief
* @param varName
* @param value
* @return
*/
virtual bool injectData(const QString &varName, double value) override;
/**
* @brief
* @param topicName
* @param varName
* @return
*/
virtual QString getData(const QString &topicName, const QString &varName) override;
private:
/**
* @brief
*/
XNSim::ATA04::Aerodynamics_input_Interface *inputInterface;
/**
* @brief
*/
XNSim::ATA04::Aerodynamics_output_Interface *outputInterface;
/**
* @brief
*/
XNSim::ATA04::Aerodynamics_heartbeat_Interface *heartbeatInterface;
};