113 lines
3.3 KiB
C++
Executable File
113 lines
3.3 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* MeteoDataManagement - Static Meteo Data Edit Dialog
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by hjl, SLSE, 2016-10-17
|
|
*/
|
|
|
|
#pragma once
|
|
#include <TrainingAreaBase/tab_dtc.h>
|
|
#include <MeteoDataManagement/mdm_dtc.h>
|
|
#include <QString>
|
|
|
|
namespace EffectShowManagement
|
|
{
|
|
/**
|
|
* @brief Converts the data telegrams to be set to Training Area Base proxy.
|
|
*
|
|
* For the telegram data to be converted see GUEZSB60_ICD-0046C.
|
|
*/
|
|
namespace ConvertToTab
|
|
{
|
|
/**
|
|
* @brief Order effect show.
|
|
*/
|
|
struct EffectShowOrder_t
|
|
{
|
|
qint16 idEffectShow = 0; // ID effect show
|
|
qint32 startTime = 0; // GPS time
|
|
Core::GeoPosition2D centerPosition; // center pos effect area
|
|
int areaWidth = 0; // [0..300]
|
|
int areaDepth = 0; // [0..300]
|
|
double rotation = 0; // [deg]
|
|
Core::GeoPosition2D lowerLeftPosition; // lower left corner effect area
|
|
qint8 numOfVolley = 0; // number of volley
|
|
qint8 shotsPerVolley = 0; // number of volley
|
|
qint8 typeOfAmmunition = 0; // type of ammunition
|
|
qint16 duration = 0; // duration of the effect show
|
|
QString name;
|
|
};
|
|
/**
|
|
* @brief Returns the telegram to order a effect show.
|
|
* @return Telegram to order a effect show.
|
|
*/
|
|
std::vector<uint8_t> convertEffectShowOrder(const EffectShowOrder_t &effectShowOrder);
|
|
|
|
/**
|
|
* @brief Order Relocation of Effect Show Actor.
|
|
*/
|
|
struct RelocationOrder_t
|
|
{
|
|
qint16 idRelocation = 0;
|
|
qint64 executionTime = 0; // GPS time [s]
|
|
Core::GeoPosition2D centerPosition; // center pos effect area
|
|
QString infoText; // max ASCII-char: 40
|
|
};
|
|
/**
|
|
* @brief Returns the telegram to order a relocation of the effect show actor.
|
|
* @return Telegram to order a relocation.
|
|
*/
|
|
std::vector<uint8_t> convertRelocationOrder(const RelocationOrder_t &relocationOrder);
|
|
|
|
|
|
/**
|
|
* @brief Returns the telegram to stop the effect show.
|
|
* @return Telegram to stop the effect show.
|
|
*/
|
|
std::vector<uint8_t> convertEffectShowStop(const qint16 &idEffectShow);
|
|
|
|
/**
|
|
* @brief Order continue Effect Show.
|
|
*/
|
|
struct EffectShowContinue_t
|
|
{
|
|
qint16 idEffectShow = 0; // ID of effect show
|
|
qint64 executionTime = 0; // GPS time [s]
|
|
};
|
|
/**
|
|
* @brief Returns the telegram to continue the effect show.
|
|
* @return Telegram to continue the effect show.
|
|
*/
|
|
std::vector<uint8_t> convertEffectShowContinue(const EffectShowContinue_t &effectShowContinue);
|
|
|
|
/**
|
|
* @brief Retract order.
|
|
*/
|
|
struct RetractOrder_t
|
|
{
|
|
qint8 orderType = 0; // 0=Relocation; 1=Effect Show
|
|
qint16 id = 0; // Id of Relocation or Effect Show
|
|
};
|
|
/**
|
|
* @brief Returns the telegram to retract the order.
|
|
* @return Telegram to retract the order.
|
|
*/
|
|
std::vector<uint8_t> convertOrderRetract(const RetractOrder_t &retractOrder);
|
|
|
|
/**
|
|
* @brief Returns the telegram to request the status.
|
|
* @return Telegram to request the status.
|
|
*/
|
|
std::vector<uint8_t> convertStatusRequest();
|
|
|
|
/**
|
|
* @brief Returns the telegram to provide meteo data.
|
|
* @return Telegram to to provide meteo data.
|
|
*/
|
|
std::vector<uint8_t> convertMeteoData(const MeteoDataManagement::MeteoData &meteoData);
|
|
}
|
|
|
|
} //namespace EffectShowManagement
|