Files
berrux-dev 598fc2560e Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set
new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
2026-10-20 09:36:57 +02:00

67 lines
1.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface-Implementation of DangerArea
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
// Own
#include <Map/measurement.h> // Interface
#include "map_impl.h"
#include "Rubberbands/rubberband_multi_point_feature.h"
// Qt
//----------------------------------------------------------------------------
namespace SituationMap
{
class MeasurementImpl : public QObject, public virtual Measurement
{
Q_OBJECT
public:
explicit MeasurementImpl(SituationMap::MapImpl *mapImpl);
virtual ~MeasurementImpl();
MeasurementImpl(const MeasurementImpl &other) = delete;
MeasurementImpl &operator=(MeasurementImpl &other) = delete;
long measureLength() override;
void clear() override;
bool displayPolyline();
bool displayVertices();
bool displayTotalLength();
bool calculateLength(const QVector<Point3D> &mapCoords);
protected Q_SLOTS:
void onRbAbort(RB::RubberbandBase *rbnd);
void onRbInterimResultsChanged(RB::RubberbandBase *rbnd);
void onRbApply(RB::RubberbandBase *rbnd);
void onCurrentCursorPositionChanged(const Point3D &mapCoord);
private:
void init();
bool startRubberband();
RB::RubberbandMultiPointFeature *createRubberband();
LOGGER_T m_logger; ///< Interface of the Logging-Facility
class Private;
/**
* The private d->pointer to not break BC when changing internals of this class
*/
Private *d = nullptr;
};
} // namespace SituationMap