Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/GeoPairingImpl/GeoPairingImplFiredBullet.hpp
T
torstenandCopilot d5af8b9764 Session 026: Lts/Services Qt5:: to Qt6:: migration
- Migrated all 104 CMakeLists.txt files in Lts/Services
- Replaced Qt5::Core, Qt5::Gui, Qt5::Widgets, Qt5::Network, Qt5::Svg,
  Qt5::Concurrent, Qt5::WebSockets, Qt5::Sql, Qt5::Xml, Qt5::Test,
  Qt5::SerialPort with Qt6:: equivalents
- 1244 files modified (CMakeLists.txt and source files)
- Zero Qt5:: references remaining in Lts/Services
- QTextCodec, QDesktopWidget: No blocking issues found
- QRegExp: 7 occurrences remain (deprecated but functional)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 19:23:30 +02:00

131 lines
3.3 KiB
C++
Executable File

#pragma once
// **************************************************************************
//
// (C) Copyright 2009 Swiss SIMTEC AG
//
// **************************************************************************
//
// $HeadURL$
// $LastChangedBy$
// $LastChangedDate$
// $LastChangedRevision$
//
// **************************************************************************
// from stereotyped includes
#include "GeoPairingImplSensorData.hpp"
#include "GeoPairingImplMeteoData.hpp"
#include "GeoPairingImplTrajectoryData.hpp"
#include "GeoPairingImplImpactData.hpp"
#include <FW_Ballistic/BallisticService.hpp>
#include "../logger.h"
#include <iostream>
#include <memory>
namespace N_GeoPairingImpl
{
/**
* This class represents the virtual bullet that was shot.
*
* @author Daniel.Schmid
* @version 1.0
* @created 29-Sep-2009 16:15:05
*/
class GeoPairingImplFiredBullet
{
public:
/**
* This is the result of the calculation. The calculation has either not been done
* (e_NONE), processed correctly (e_OK), out of the terrain range (e_OUTOFRANGE),
* or took too long (e_TIMEOUT)
*
* @author Daniel.Schmid
* @version 1.0
* @created 11-Feb-2010 08:51:23
*/
enum E_CalcResult
{
e_NONE = 0,
e_OK,
e_OUTOFRANGE,
e_TIMEOUT
};
GeoPairingImplTrajectoryData m_TrajectoryData;
/**
* Constructur taking the SensorData as input values
*
* @param a_sensorData
*/
explicit GeoPairingImplFiredBullet(const GeoPairingImplSensorData &a_sensorData,
const char *loggerName = nullptr);
/**
* destructor
*/
virtual ~GeoPairingImplFiredBullet() = default;
/**
* Performs the calculation of the trajectory and also returns the result of
* calculation
*/
virtual GeoPairingImplFiredBullet::E_CalcResult calculate(const std::shared_ptr<N_Ballistic::BallisticService> &ballisticService);
virtual GeoPairingImplFiredBullet::E_CalcResult calculateG5G6(double entfernung, double drift, double flugzeit);
/**
* Performs the calculation of multiple trajectories and also returns the result
* of calculation
*
* @param a_nbrRounds
* @param a_widthField
* @param a_lengthField
* @param a_duration
* @param a_heading
*/
virtual GeoPairingImplFiredBullet::E_CalcResult calculateSalve(const std::shared_ptr<N_Ballistic::BallisticService> &ballisticService,
int a_nbrRounds, double &a_widthField,
double &a_lengthField, double &a_duration,
double &a_heading);
/**
* retrieves the Impact Data
*/
GeoPairingImplImpactData *getImpactData();
/**
* retrieves the Trajectory Data
*/
GeoPairingImplTrajectoryData *getTrajectoryData();
/**
* Sets the meteo data that are considered for this bullet
*
* @param a_meteoData
*/
void setMeteoData(const GeoPairingImplMeteoData &a_meteoData);
/**
* spreads the sensor heading and pitch in the min/max field, using random values
*/
void prepareSensorData();
protected:
GeoPairingImplSensorData m_SensorData;
GeoPairingImplMeteoData m_MeteoData;
GeoPairingImplImpactData m_ImpactData;
NGL::INGLLogger &m_logger;
};
}