41 lines
798 B
C++
Executable File
41 lines
798 B
C++
Executable File
/**
|
|
* Effector Firing Strategy for DM72
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Hannes Fritsche, ESZS, 2026-05-21
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "abstract_firing_strategy.h"
|
|
|
|
namespace LtsUtils
|
|
{
|
|
class QPoint3D;
|
|
}
|
|
|
|
namespace AreaEffectSimulation
|
|
{
|
|
class Dm72FiringStrategy : public AbstractFiringStrategy
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Dm72FiringStrategy(ObjectEffector *effector);
|
|
|
|
void doFiring() override final;
|
|
|
|
private: // methods
|
|
void init();
|
|
QVector<QPointF> mineLayingCentroids() const;
|
|
double angleToMhpUtm(const QPointF &mhpUtm) const;
|
|
|
|
private: // attributes
|
|
QVector<LtsUtils::QPoint3D> m_impactPoints;
|
|
int m_impactPointIndex {0};
|
|
int m_effectDurationMsec = 3 * 60 * 60 * 1000; // default 3h
|
|
|
|
}; // class Dm72FiringStrategy
|
|
} // namespace AreaEffectSimulation
|