/** * @RDE_HEADER@ * Interface of LineOfSight * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "abstract_multi_point_map_object.h" #include //---------------------------------------------------------------------------- namespace SituationMap { /** * @brief The LineOfSight class supports a "single" line with two colors. * The method setPositions() should never be called. */ class LineOfSight : public virtual AbstractMultiPointMapObject, public virtual AbstractEffectSimulation { public: /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Don't use "= default" because of bug in VS2015 JT 2016/11/7 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ LineOfSight() : AbstractMultiPointMapObject(), AbstractEffectSimulation() {} ///< Contructor virtual ~LineOfSight() = default; ///< Destructor /*! \name Specific data*/ //@{ /*! * \brief set relvants Points * \param observer observerPoint ( * \param obstacle obstacle point * \param target targetPoint * \param visibleColor color to visualize the visible part * \param obstructedColor color to visualize the obstructed part */ virtual void setPoints(const Point3D &observer, const Point3D &obstacle, const Point3D &target, const QColor &visibleColor = Qt::green, const QColor &obstructedColor = Qt::red) = 0; //@} // void setPositions(const PositionCont& posCont) //SHOULD NEVER BE CALLED }; } // namespace SituationMap