/** * @RDE_HEADER@ * Interface of ChemicalAgent * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "abstract_multi_point_map_object.h" #include //---------------------------------------------------------------------------- namespace SituationMap { /** * @brief The ChemicalAgent class supports different agent types. */ class ChemicalAgent : public virtual AbstractMultiPointMapObject, public virtual AbstractEffectSimulation { public: /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Don't use "= default" because of bug in VS2015 JT 2016/11/7 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ ChemicalAgent() : AbstractMultiPointMapObject(), AbstractEffectSimulation() {;} ///< Contructor virtual ~ChemicalAgent() = default; ///< Destructor /*! \name Specific data*/ //@{ virtual Point3D origin() const = 0; virtual void setOrigin(const Point3D &origin) = 0; virtual float radius() const = 0; virtual void setRadius(float radius, unsigned int maxPointCount = 0) = 0; //@} }; } // namespace SituationMap