/** * @RDE_HEADER@ * ViewshedParameter * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include #include // Qt #include #include class QJsonObject; //---------------------------------------------------------------------------- namespace SituationMap { /*! * \brief Define parameter for viewshed. */ class ViewshedParameter { public: explicit ViewshedParameter() = default; QPointF viewshedOrigin_latLon; // geo coordinates in rad double innerRadius = 10.0; // inner radius for use with sight fan only double outerRadius = 100.0; // radius for both sight fan and ESRI viewshed double observerHeight = 2.0; // observer height for both sight fan and ESRI viewshed double targetHeight = 2.0; // object or target height for use with sight fan double startAngle = 0.0; // start angle of sight fan in rad double dAngle = 2.0 / 180.0*MathConst::pi; // angle of single sight fan beam in rad unsigned int noBeams = 180; // count of sight fan beams double alpha = 1.0; // transparency [0..1]; QString toString() const; // static MapWidgetSettings read(const QJsonObject &json); // QJsonObject toJsonObject() const; }; SITUATIONMAP_EXPORT std::ostream &operator<< (std::ostream &stream, const SituationMap::ViewshedParameter &value); } // namespace SituationMap