SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
measurementunitmanager.h
Go to the documentation of this file.
1
11#ifndef MEASUREMENTUNITMANAGER_H
12#define MEASUREMENTUNITMANAGER_H
13
14#include <QObject>
15#include <QString>
16#include <QStringList>
17
26class MeasurementUnitManager : public QObject
27{
28 Q_OBJECT
29
30public:
31
32 // ----- Distance units ------------------------------------------------
33
49
54 [[nodiscard]] static double metresTo(DistanceUnit unit);
55
59 [[nodiscard]] static double toMetres(double value, DistanceUnit unit);
60
64 [[nodiscard]] static double convert(double value, DistanceUnit from, DistanceUnit to);
65
69 [[nodiscard]] static QString distanceUnitSymbol(DistanceUnit unit);
70
74 [[nodiscard]] static QString distanceUnitName(DistanceUnit unit);
75
79 [[nodiscard]] static QStringList distanceUnitNames();
80
81 // ----- Area units ----------------------------------------------------
82
97
101 [[nodiscard]] static double squareMetresTo(AreaUnit unit);
102
106 [[nodiscard]] static double toSquareMetres(double value, AreaUnit unit);
107
111 [[nodiscard]] static double convertArea(double value, AreaUnit from, AreaUnit to);
112
116 [[nodiscard]] static QString areaUnitSymbol(AreaUnit unit);
117
121 [[nodiscard]] static QString areaUnitName(AreaUnit unit);
122
126 [[nodiscard]] static QStringList areaUnitNames();
127
128 // ----- Formatting helpers --------------------------------------------
129
138 [[nodiscard]] static QString formatDistance(double metres,
139 DistanceUnit preferredUnit = Metres,
140 int decimals = 3);
141
148 [[nodiscard]] static QString formatArea(double squareMetres,
149 AreaUnit preferredUnit = SquareMetres,
150 int decimals = 3);
151};
152
153#endif // MEASUREMENTUNITMANAGER_H
Unit unit
Definition aquifereditordialog.cpp:57
Utility class for converting between measurement units used in GIS operations.
Definition measurementunitmanager.h:27
static QString distanceUnitName(DistanceUnit unit)
Returns the full unit name (e.g. "Metres", "US survey feet").
Definition measurementunitmanager.cpp:66
static double toSquareMetres(double value, AreaUnit unit)
Converts value from the source unit to square metres.
Definition measurementunitmanager.cpp:122
static double toMetres(double value, DistanceUnit unit)
Converts value from the source unit to metres.
Definition measurementunitmanager.cpp:40
static double squareMetresTo(AreaUnit unit)
Returns the conversion factor from square metres to the target unit.
Definition measurementunitmanager.cpp:107
static QString areaUnitName(AreaUnit unit)
Returns the full unit name (e.g. "Square metres", "Hectares").
Definition measurementunitmanager.cpp:147
static double convertArea(double value, AreaUnit from, AreaUnit to)
Converts value between two area units.
Definition measurementunitmanager.cpp:127
AreaUnit
Supported area units.
Definition measurementunitmanager.h:88
@ SquareYards
Definition measurementunitmanager.h:95
@ SquareKilometres
Definition measurementunitmanager.h:90
@ Acres
Definition measurementunitmanager.h:92
@ Hectares
Definition measurementunitmanager.h:91
@ SquareFeet
Definition measurementunitmanager.h:93
@ SquareMetres
Definition measurementunitmanager.h:89
@ SquareMiles
Definition measurementunitmanager.h:94
DistanceUnit
Supported distance units.
Definition measurementunitmanager.h:39
@ Metres
Definition measurementunitmanager.h:40
@ NauticalMiles
Definition measurementunitmanager.h:45
@ Feet
Definition measurementunitmanager.h:42
@ USFeet
Definition measurementunitmanager.h:43
@ Miles
Definition measurementunitmanager.h:44
@ Kilometres
Definition measurementunitmanager.h:41
@ InternationalInches
Definition measurementunitmanager.h:47
@ Yards
Definition measurementunitmanager.h:46
static QString areaUnitSymbol(AreaUnit unit)
Returns the abbreviated unit symbol (e.g. "m²", "ha", "ac").
Definition measurementunitmanager.cpp:132
static QStringList areaUnitNames()
Returns a list of all supported area unit names.
Definition measurementunitmanager.cpp:162
static QString formatArea(double squareMetres, AreaUnit preferredUnit=SquareMetres, int decimals=3)
Formats an area value with the appropriate unit symbol.
Definition measurementunitmanager.cpp:200
static QStringList distanceUnitNames()
Returns a list of all supported distance unit names.
Definition measurementunitmanager.cpp:82
static double metresTo(DistanceUnit unit)
Returns the conversion factor from metres to the target unit.
Definition measurementunitmanager.cpp:24
static double convert(double value, DistanceUnit from, DistanceUnit to)
Converts value between two distance units.
Definition measurementunitmanager.cpp:45
static QString distanceUnitSymbol(DistanceUnit unit)
Returns the abbreviated unit symbol (e.g. "m", "km", "ft").
Definition measurementunitmanager.cpp:50
static QString formatDistance(double metres, DistanceUnit preferredUnit=Metres, int decimals=3)
Formats a distance value with the appropriate unit symbol.
Definition measurementunitmanager.cpp:179
int decimals
Definition meshcellparams.cpp:30