70 lines
2.1 KiB
C++
Executable File
70 lines
2.1 KiB
C++
Executable File
/**
|
|
* CES AesItemViewUtm
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Gerlinde Rudolphus, SLTE, 2016-04-14
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <CentralEffectSimulation/svccesddscommon_export.h>
|
|
|
|
#include <AreaEffectSimulation/aes_enums.hpp>
|
|
#include <AreaEffectSimulation/aes.hpp>
|
|
|
|
#include <QPointF>
|
|
#include <QPolygonF>
|
|
#include <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
|