Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+61
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Interface of SingleFire
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "abstract_multi_point_map_object.h"
|
||||
#include <Map/abstract_effect_simulation.h>
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
namespace SituationMap
|
||||
{
|
||||
|
||||
/**
|
||||
* @brief The SingleFire class supports Indirect Single Fire.
|
||||
*/
|
||||
class SingleFire : public virtual AbstractMultiPointMapObject, public virtual AbstractEffectSimulation
|
||||
{
|
||||
|
||||
using BaseClass = AbstractMultiPointMapObject;
|
||||
|
||||
public:
|
||||
|
||||
enum class ImpactType
|
||||
{
|
||||
normalImpact,
|
||||
doubleImpact
|
||||
};
|
||||
|
||||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Don't use "= default" because of bug in VS2015 JT 2016/11/7
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
SingleFire() : BaseClass() {;} ///< Contructor
|
||||
|
||||
virtual ~SingleFire() = default; ///< Destructor
|
||||
|
||||
/*! \name Specific data*/
|
||||
//@{
|
||||
virtual Point3D impactOrigin() const = 0;
|
||||
virtual void setImpactOrigin(const Point3D &impactOrigin) = 0;
|
||||
|
||||
virtual ImpactType impactType() const = 0;
|
||||
virtual void setImpactType(ImpactType impactType = ImpactType::normalImpact) = 0;
|
||||
|
||||
virtual Point3D origin() const = 0;
|
||||
virtual void setOrigin(const Point3D &origin) = 0;
|
||||
virtual float radius() const = 0;
|
||||
virtual void setRadius(float radius) = 0;
|
||||
virtual void setOriginatorToTargetLineSurface(const Point3D &start, const Point3D &end) = 0;
|
||||
//@}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace SituationMap
|
||||
Reference in new issue
Block a user