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 Class Reference

Utility class for converting between measurement units used in GIS operations. More...

#include <measurementunitmanager.h>

Inheritance diagram for MeasurementUnitManager:
Collaboration diagram for MeasurementUnitManager:

Public Types

enum  DistanceUnit {
  Metres ,
  Kilometres ,
  Feet ,
  USFeet ,
  Miles ,
  NauticalMiles ,
  Yards ,
  InternationalInches
}
 Supported distance units. More...
 
enum  AreaUnit {
  SquareMetres ,
  SquareKilometres ,
  Hectares ,
  Acres ,
  SquareFeet ,
  SquareMiles ,
  SquareYards
}
 Supported area units. More...
 

Static Public Member Functions

static double metresTo (DistanceUnit unit)
 Returns the conversion factor from metres to the target unit.
 
static double toMetres (double value, DistanceUnit unit)
 Converts value from the source unit to metres.
 
static double convert (double value, DistanceUnit from, DistanceUnit to)
 Converts value between two distance units.
 
static QString distanceUnitSymbol (DistanceUnit unit)
 Returns the abbreviated unit symbol (e.g. "m", "km", "ft").
 
static QString distanceUnitName (DistanceUnit unit)
 Returns the full unit name (e.g. "Metres", "US survey feet").
 
static QStringList distanceUnitNames ()
 Returns a list of all supported distance unit names.
 
static double squareMetresTo (AreaUnit unit)
 Returns the conversion factor from square metres to the target unit.
 
static double toSquareMetres (double value, AreaUnit unit)
 Converts value from the source unit to square metres.
 
static double convertArea (double value, AreaUnit from, AreaUnit to)
 Converts value between two area units.
 
static QString areaUnitSymbol (AreaUnit unit)
 Returns the abbreviated unit symbol (e.g. "m²", "ha", "ac").
 
static QString areaUnitName (AreaUnit unit)
 Returns the full unit name (e.g. "Square metres", "Hectares").
 
static QStringList areaUnitNames ()
 Returns a list of all supported area unit names.
 
static QString formatDistance (double metres, DistanceUnit preferredUnit=Metres, int decimals=3)
 Formats a distance value with the appropriate unit symbol.
 
static QString formatArea (double squareMetres, AreaUnit preferredUnit=SquareMetres, int decimals=3)
 Formats an area value with the appropriate unit symbol.
 

Detailed Description

Utility class for converting between measurement units used in GIS operations.

Provides conversion factors and display symbols for distance and area units. Used by OpenSWMMVisMapToolMeasure and the status bar to format measurement results. All conversions pass through SI base units (metres for distance, square metres for area).

Member Enumeration Documentation

◆ AreaUnit

Supported area units.

Enumerator
SquareMetres 
SquareKilometres 
Hectares 
Acres 
SquareFeet 
SquareMiles 
SquareYards 

◆ DistanceUnit

Supported distance units.

Enumerator
Metres 
Kilometres 
Feet 
USFeet 

US survey foot (1 200/3 937 m).

Miles 
NauticalMiles 
Yards 
InternationalInches 

Member Function Documentation

◆ areaUnitName()

QString MeasurementUnitManager::areaUnitName ( AreaUnit  unit)
static

Returns the full unit name (e.g. "Square metres", "Hectares").

Here is the caller graph for this function:

◆ areaUnitNames()

QStringList MeasurementUnitManager::areaUnitNames ( )
static

Returns a list of all supported area unit names.

Here is the call graph for this function:

◆ areaUnitSymbol()

QString MeasurementUnitManager::areaUnitSymbol ( AreaUnit  unit)
static

Returns the abbreviated unit symbol (e.g. "m²", "ha", "ac").

Here is the caller graph for this function:

◆ convert()

double MeasurementUnitManager::convert ( double  value,
DistanceUnit  from,
DistanceUnit  to 
)
static

Converts value between two distance units.

Here is the call graph for this function:

◆ convertArea()

double MeasurementUnitManager::convertArea ( double  value,
AreaUnit  from,
AreaUnit  to 
)
static

Converts value between two area units.

Here is the call graph for this function:

◆ distanceUnitName()

QString MeasurementUnitManager::distanceUnitName ( DistanceUnit  unit)
static

Returns the full unit name (e.g. "Metres", "US survey feet").

Here is the caller graph for this function:

◆ distanceUnitNames()

QStringList MeasurementUnitManager::distanceUnitNames ( )
static

Returns a list of all supported distance unit names.

Here is the call graph for this function:

◆ distanceUnitSymbol()

QString MeasurementUnitManager::distanceUnitSymbol ( DistanceUnit  unit)
static

Returns the abbreviated unit symbol (e.g. "m", "km", "ft").

Here is the caller graph for this function:

◆ formatArea()

QString MeasurementUnitManager::formatArea ( double  squareMetres,
AreaUnit  preferredUnit = SquareMetres,
int  decimals = 3 
)
static

Formats an area value with the appropriate unit symbol.

Parameters
squareMetresArea in square metres.
preferredUnitPreferred output unit; pass SquareMetres to auto-select.
decimalsNumber of decimal places.
Here is the call graph for this function:

◆ formatDistance()

QString MeasurementUnitManager::formatDistance ( double  metres,
DistanceUnit  preferredUnit = Metres,
int  decimals = 3 
)
static

Formats a distance value with the appropriate unit symbol.

Automatically scales to a more readable unit when the value exceeds a threshold (e.g. >= 1000 m → km).

Parameters
metresDistance in metres.
preferredUnitPreferred output unit; pass Metres to auto-select.
decimalsNumber of decimal places.
Here is the call graph for this function:

◆ metresTo()

double MeasurementUnitManager::metresTo ( DistanceUnit  unit)
static

Returns the conversion factor from metres to the target unit.

Parameters
unitTarget distance unit.
Here is the caller graph for this function:

◆ squareMetresTo()

double MeasurementUnitManager::squareMetresTo ( AreaUnit  unit)
static

Returns the conversion factor from square metres to the target unit.

Here is the caller graph for this function:

◆ toMetres()

double MeasurementUnitManager::toMetres ( double  value,
DistanceUnit  unit 
)
static

Converts value from the source unit to metres.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toSquareMetres()

double MeasurementUnitManager::toSquareMetres ( double  value,
AreaUnit  unit 
)
static

Converts value from the source unit to square metres.

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: