NDEVR
API Documentation
UnitDefinitions.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/Unit.h>
4#include <NDEVR/Pointer.h>
5namespace NDEVR
6{
11 class NDEVR_BASE_API UnitDefinitions
12 {
13 public:
14 //Length Units
15
20 static const ConstPointer<Unit>& Meters();
21
26 static const ConstPointer<Unit>& Feet();
27
32 static const ConstPointer<Unit>& Inches();
33
38 static const ConstPointer<Unit>& Yards();
39
40
46
52
58
63 static const ConstPointer<Unit>& Micron();
64
70#if NDEVR_US_SURVEY_UNITS
75 static const ConstPointer<Unit>& USSurveyFeet();
76
81 static const ConstPointer<Unit>& USSurveyFeetInches();
82#endif
83#if NDEVR_EXOTIC_UNITS
88 static const ConstPointer<Unit>& Mils();
89
94 static const ConstPointer<Unit>& Microinches();
95
100 static const ConstPointer<Unit>& Angstrom();
101
106 static const ConstPointer<Unit>& Nanometers();
107
112 static const ConstPointer<Unit>& Microns();
113
118 static const ConstPointer<Unit>& Decimeters();
119
124 static const ConstPointer<Unit>& Dekameters();
125
130 static const ConstPointer<Unit>& Hectometers();
131
136 static const ConstPointer<Unit>& Gigameters();
137
142 static const ConstPointer<Unit>& AstronomicalUnits();
143
148 static const ConstPointer<Unit>& LightYears();
149
154 static const ConstPointer<Unit>& Parsecs();
155
160 static const ConstPointer<Unit>& Links();
161
166 static const ConstPointer<Unit>& Chains();
167
172 static const ConstPointer<Unit>& BenoitChains();
173
178 static const ConstPointer<Unit>& BenoitLinks();
179
184 static const ConstPointer<Unit>& Brealey();
185
190 static const ConstPointer<Unit>& CAGridUnits();
191
196 static const ConstPointer<Unit>& GoldCoastFeet();
197
202 static const ConstPointer<Unit>& GermanMeters();
203
208 static const ConstPointer<Unit>& GermanLegalMeters();
209
214 static const ConstPointer<Unit>& GunterChains();
215
220 static const ConstPointer<Unit>& GunterLinks();
221
226 static const ConstPointer<Unit>& InternationalFeet();
227
232 static const ConstPointer<Unit>& InternationalInches();
233
238 static const ConstPointer<Unit>& InternationalMiles();
239
244 static const ConstPointer<Unit>& IndianYards();
245
250 static const ConstPointer<Unit>& NauticalMiles();
251
256 static const ConstPointer<Unit>& Rods();
257
262 static const ConstPointer<Unit>& SouthAfricanRoods();
263
268 static const ConstPointer<Unit>& SearsChains();
269
274 static const ConstPointer<Unit>& BritishChains();
275
280 static const ConstPointer<Unit>& SearsLinks();
281
286 static const ConstPointer<Unit>& SearsYards();
287
292 static const ConstPointer<Unit>& ClarkesFeet();
293
298 static const ConstPointer<Unit>& ClarkesYards();
299
304 static const ConstPointer<Unit>& ClarkesChains();
305
310 static const ConstPointer<Unit>& ClarkesLinks();
311#endif
312
313 //Time Units
314
320
326
332
338
343 static const ConstPointer<Unit>& Hours();
344
345 //Area Units
346
352
358
364
370
376
381 static const ConstPointer<Unit>& Ares();
382
388
393 static const ConstPointer<Unit>& Acres();
394
395 //Volume Units
396
402
408
414
420#if NDEVR_EXOTIC_UNITS
425 static const ConstPointer<Unit>& Liters();
426
431 static const ConstPointer<Unit>& Gallon();
432
437 static const ConstPointer<Unit>& Barrel();
438#endif
440
446
452
458
464
470
476
477 //Speed units
478
484
490
496
502
503 //rotation speed units
504
510
511 //Weight units
512
517 static const ConstPointer<Unit>& Pounds();
518
524
529 static const ConstPointer<Unit>& Grams();
530#if NDEVR_EXOTIC_UNITS
535 static const ConstPointer<Unit>& LongTons();
536
541 static const ConstPointer<Unit>& ShortTons();
542
547 static const ConstPointer<Unit>& Ounces();
548
553 static const ConstPointer<Unit>& MetricTons();
554#endif
555 //Frequency Units
556
561 static const ConstPointer<Unit>& Hertz();
562
568
569 //Temperature
570
576
582
587 static const ConstPointer<Unit>& Kelvin();
588
589
590 //Voltage
591
596 static const ConstPointer<Unit>& Volts();
597
603
604 //Misc Units
605
611
617
622 static const ConstPointer<Unit>& Pixels();
623
629
630 //Coordinate Units
631
637 static ConstPointer<Unit> XYZ(const Unit& length_unit);
638
644 static ConstPointer<Unit> YXZ(const Unit& length_unit);
645
652
659
666
673
680
687
694 static ConstPointer<Unit> NorthOrientation(const Unit& length_unit, bool clockwise);
695
702 static ConstPointer<Unit> EastOrientation(const Unit& length_unit, bool clockwise);
703
710 static ConstPointer<Unit> WestOrientation(const Unit& length_unit, bool clockwise);
711
718 static ConstPointer<Unit> SouthOrientation(const Unit& length_unit, bool clockwise);
719
720
726 static ConstPointer<Unit> LatLonAlt(const Unit& angle_unit);
727
735 static ConstPointer<Unit> AppendInclinationOrientation(const Unit& orientation_unit, const Angle<fltp08>& horizontal_angle, bool upwards);
736
737 };
738}
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
Definition Angle.h:83
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition Pointer.hpp:276
Provides static accessors for common and uncommon unit definitions used by the software.
static const ConstPointer< Unit > & SurfaceNormalPercent()
Gets the unit definition for surface normal percent (slope as rise/run percentage).
static const ConstPointer< Unit > & SqrInches()
Gets the unit definition for square inches.
static ConstPointer< Unit > NorthingElevationEasting(const Unit &length_unit)
Creates a 3D coordinate unit with Northing, Elevation, Easting axis ordering.
static const ConstPointer< Unit > & SqrYards()
Gets the unit definition for square yards.
static ConstPointer< Unit > WestOrientation(const Unit &length_unit, bool clockwise)
Creates an orientation unit referenced to west.
static const ConstPointer< Unit > & Feet()
Gets the unit definition for feet.
static const ConstPointer< Unit > & Micron()
Gets the unit definition for microns (micrometers).
static ConstPointer< Unit > NorthOrientation(const Unit &length_unit, bool clockwise)
Creates an orientation unit referenced to north.
static const ConstPointer< Unit > & Grams()
Gets the unit definition for grams.
static const ConstPointer< Unit > & Acres()
Gets the unit definition for acres.
static const ConstPointer< Unit > & Seconds()
Gets the unit definition for seconds.
static const ConstPointer< Unit > & Ares()
Gets the unit definition for ares (100 square meters).
static const ConstPointer< Unit > & CubicYards()
Gets the unit definition for cubic yards.
static const ConstPointer< Unit > & CubicMeters()
Gets the unit definition for cubic meters.
static const ConstPointer< Unit > & DDDMMSS()
Gets the unit definition for the DDD.MMSS packed angle format.
static const ConstPointer< Unit > & FeetInches()
Gets the unit definition for feet and inches as a combined display format.
static ConstPointer< Unit > NorthingEastingElevation(const Unit &length_unit)
Creates a 3D coordinate unit with Northing, Easting, Elevation axis ordering.
static const ConstPointer< Unit > & Meters()
Gets the unit definition for meters.
static const ConstPointer< Unit > & MinutesSeconds()
Gets the unit definition for minutes and seconds as a combined display format.
static const ConstPointer< Unit > & Kilometers()
Gets the unit definition for kilometers.
static const ConstPointer< Unit > & Kelvin()
Gets the unit definition for Kelvin.
static const ConstPointer< Unit > & Kilograms()
Gets the unit definition for kilograms.
static const ConstPointer< Unit > & Millimeters()
Gets the unit definition for millimeters.
static const ConstPointer< Unit > & Hectares()
Gets the unit definition for hectares (10,000 square meters).
static const ConstPointer< Unit > & Percent()
Gets the unit definition for percent values.
static const ConstPointer< Unit > & Hertz()
Gets the unit definition for hertz.
static const ConstPointer< Unit > & Degrees()
Angle Units.
static const ConstPointer< Unit > & Milliseconds()
Gets the unit definition for milliseconds.
static const ConstPointer< Unit > & Fahrenheit()
Gets the unit definition for degrees Fahrenheit.
static const ConstPointer< Unit > & DotsPerInch()
Gets the unit definition for dots per inch (DPI).
static const ConstPointer< Unit > & Radians()
Gets the unit definition for radians.
static ConstPointer< Unit > SouthOrientation(const Unit &length_unit, bool clockwise)
Creates an orientation unit referenced to south.
static ConstPointer< Unit > EastingNorthingElevation(const Unit &length_unit)
Creates a 3D coordinate unit with Easting, Northing, Elevation axis ordering.
static const ConstPointer< Unit > & Volts()
Gets the unit definition for volts.
static ConstPointer< Unit > XYZ(const Unit &length_unit)
Creates a 3D coordinate unit with X, Y, Z axis ordering.
static const ConstPointer< Unit > & RotationsPerMinute()
Gets the unit definition for rotations per minute (RPM).
static ConstPointer< Unit > YXZ(const Unit &length_unit)
Creates a 3D coordinate unit with Y, X, Z axis ordering.
static ConstPointer< Unit > LatLonAlt(const Unit &angle_unit)
Creates a geographic coordinate unit with Latitude, Longitude, Altitude axis ordering.
static ConstPointer< Unit > WestingElevationSouthing(const Unit &length_unit)
Creates a 3D coordinate unit with Westing, Elevation, Southing axis ordering.
static ConstPointer< Unit > EastOrientation(const Unit &length_unit, bool clockwise)
Creates an orientation unit referenced to east.
static ConstPointer< Unit > EastingElevationNorthing(const Unit &length_unit)
Creates a 3D coordinate unit with Easting, Elevation, Northing axis ordering.
static const ConstPointer< Unit > & KilometersPerHour()
Gets the unit definition for kilometers per hour.
static ConstPointer< Unit > AppendInclinationOrientation(const Unit &orientation_unit, const Angle< fltp08 > &horizontal_angle, bool upwards)
Appends an inclination (vertical tilt) to an existing orientation unit.
static const ConstPointer< Unit > & DegreesMinutesSeconds()
Gets the unit definition for degrees, minutes, and seconds as a combined display format.
static const ConstPointer< Unit > & Pounds()
Gets the unit definition for pounds.
static const ConstPointer< Unit > & MegaHertz()
Gets the unit definition for megahertz.
static const ConstPointer< Unit > & SqrMeters()
Gets the unit definition for square meters.
static const ConstPointer< Unit > & Centimeters()
Gets the unit definition for centimeters.
static const ConstPointer< Unit > & Yards()
Gets the unit definition for yards.
static const ConstPointer< Unit > & FeetPerSecond()
Gets the unit definition for feet per second.
static const ConstPointer< Unit > & Pixels()
Gets the unit definition for pixels.
static const ConstPointer< Unit > & Hours()
Gets the unit definition for hours.
static ConstPointer< Unit > WestingSouthingElevation(const Unit &length_unit)
Creates a 3D coordinate unit with Westing, Southing, Elevation axis ordering.
static const ConstPointer< Unit > & Celsius()
Gets the unit definition for degrees Celsius.
static const ConstPointer< Unit > & MetersPerSecond()
Gets the unit definition for meters per second.
static const ConstPointer< Unit > & SqrFeet()
Gets the unit definition for square feet.
static const ConstPointer< Unit > & Inches()
Gets the unit definition for inches.
static const ConstPointer< Unit > & MilesPerHour()
Gets the unit definition for miles per hour.
static const ConstPointer< Unit > & CubicFeet()
Gets the unit definition for cubic feet.
static const ConstPointer< Unit > & Gradians()
Gets the unit definition for gradians (gon, 400 per full circle).
static const ConstPointer< Unit > & SqrKilometers()
Gets the unit definition for square kilometers.
static const ConstPointer< Unit > & CubicInches()
Gets the unit definition for cubic inches.
static const ConstPointer< Unit > & Millivolts()
Gets the unit definition for millivolts.
static const ConstPointer< Unit > & DegreesMinutes()
Gets the unit definition for degrees and minutes as a combined display format.
static const ConstPointer< Unit > & Minutes()
Gets the unit definition for minutes.
The primary namespace for the NDEVR SDK.
Defines a unit of measurement for converting and displaying data values.
Definition Unit.h:39