Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/aes_item_view_utm.h
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

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

70 lines
2.1 KiB
C++
Executable File

/**
* CES AesItemViewUtm
* $Id$
* $HeadURL$
* $Author$
* Created by Gerlinde Rudolphus, SLTE, 2016-04-14
*/
#pragma once
#include "svccesddscommon_export.h"
#include <AreaEffectSimulation/aes_enums.hpp>
#include <AreaEffectSimulation/aes.hpp>
#include <QtCore/QPointF>
#include <QPolygonF>
#include <QtCore/QVector>
#include <QtCore/QHash>
namespace CentralEffectSimulation
{
struct SVCCESDDSCOMMON_EXPORT AesItemViewUtm
{
int zone = -1;
int aesItemId = 0;
AreaEffectSimulation::ChargeStruct chargeStruct = {0,0,0};
int partyId = -1; // detect friendlyFire
int dusMineId = -1;
bool isSupplyTruck = false;
int participantId = -1;
bool offsetIsSet = false;
double upperOffset = -1.0;
double lowerOffset = -1.0;
AreaEffectSimulation::AesType aesTypeId = AreaEffectSimulation::AesType_def::AtUnknown;
AreaEffectSimulation::AesEffectState effectStateId = AreaEffectSimulation::AesEffectState::EsExpired;
qint64 effectStart = 0;
QPointF boundingBoxBottomLeft;
QPointF boundingBoxTopRight;
QPolygonF boundingBox;
QPolygonF form;
double hazardDistance_meter{0.0}; // 'hazardDistance' is used very often, find different name to ease find/grep
QPolygonF hazardDistanceForm;
QVector<Core::GeoPosition2D> formGeo;
QVector<QPointF> formMines;
QVector<double> radials; // for nbc area checks
QPointF center; // for nbc area checks
std::vector<uint8_t> handledImpacts;
qint64 sampleTimeHandledImpacts = 0;
bool hasHazardDistance() const { return hazardDistance_meter > 0; }
static AesItemViewUtm create(const AreaEffectSimulation::AesItemView &aiv,
const AesItemViewUtm &prevData,
double impactRadius,
bool isSupplyTruck = false,
double hazardDistance = 0.0,
bool offsetIsSet = false,
double upperOffset = -1.0,
double lowerOffset = -1.0);
};
typedef QSet<int> BitfieldState;
typedef QHash<int, BitfieldState> BitfieldStates;
} // namespace CentralEffectSimulation