3#include "../FoundationBase.h"
7#include <glm/mat3x3.hpp>
10 bool& northernHemisphere,
11 const double latitude,
12 const double longitude,
13 const int referenceEllipsoid = 23);
17 const double latitude,
18 const double longitude,
20 bool northernHemisphere,
21 const int referenceEllipsoid = 23);
52 glm::dvec3 convert(
double latitude,
double longitude,
double altitude = 0.0)
const;
53 glm::dvec2 calcVectorBetweenCoordinates(
double lat1,
double long1,
double lat2,
double long2)
const;
#define COGSFOUNDATION_API
Definition: FoundationBase.h:31
COGSFOUNDATION_API glm::dvec3 LLtoECEF(double latitude, double longitude, double altitude=0.0)
Converts a WGS latitude-longitude to Earth-centered, Earth-fixed (ECEF) cartesian coordinates.
Definition: GeodeticUtils.cpp:138
COGSFOUNDATION_API glm::dvec2 calcUTMVectorBetweenCoordinates(double lat1, double long1, double lat2, double long2, int zone1=-1, int zone2=-1)
Calculate a straight line vector in UTM units from lat1,long1 to lat2,long2.
Definition: GeodeticUtils.cpp:161
COGSFOUNDATION_API void LLtoUTMZone(int &zoneNumber, bool &northernHemisphere, const double latitude, const double longitude, const int referenceEllipsoid=23)
Definition: GeodeticUtils.cpp:44
COGSFOUNDATION_API float calcBearingBetweenCoordinates(double lat1, double long1, double lat2, double long2, int zone=-1)
Calculate a bearing in degrees from lat1,long1 to lat2,long2.
Definition: GeodeticUtils.cpp:194
COGSFOUNDATION_API void LLtoUTM(double &easting, double &northing, const double latitude, const double longitude, int zoneNumber, bool northernHemisphere, const int referenceEllipsoid=23)
Definition: GeodeticUtils.cpp:77
Converts WGS latitude-longitude coordinates to ENU local tangential east-north-up coordinate system.
Definition: GeodeticUtils.h:46
glm::dmat3x3 ecefToENUMatrix
Definition: GeodeticUtils.h:57
LLToENUConverter(const LLToENUConverter &)=default
LLToENUConverter(LLToENUConverter &&)=default
glm::dvec3 ecefRef
Definition: GeodeticUtils.h:56
Main Cogs namespace.
Definition: MortonCode.h:5