19 SLMat3f cRenu = (enuRs * sRc).transposed();
28 horizon.
cross(normalEnuXYPlane, normalCamXYPlane);
31 float l = horizon.
length();
34 horizon = {1.f, 0.f, 0.f};
47 return (T)degrees + ((T)(minutes * 60) + seconds) / ((T)3600);
56 int degreesLon,
int minutesLon, T secondsLon,
60 assert(degreesLat > -90 && degreesLat < 90);
61 assert(degreesLon > -180 && degreesLon < 180);
62 assert(minutesLat > 0 && minutesLat < 60);
63 assert(minutesLon > 0 && minutesLon < 60);
64 assert(secondsLat >= (T)0 && secondsLat < (T)60);
65 assert(secondsLon >= (T)0 && secondsLon < (T)60);
68 vec.
x = geoDegMinSec2Decimal<T>(degreesLat, minutesLat, secondsLat);
69 vec.
y = geoDegMinSec2Decimal<T>(degreesLon, minutesLon, secondsLon);
76 int degreesLon,
int minutesLon,
float secondsLon,
79 int degreesLon,
int minutesLon,
double secondsLon,
Container for general algorithm functions.
SLVec3< SLfloat > SLVec3f
void cross(const SLVec3 &a, const SLVec3 &b)
Collection of algorithms that may should be integrated into other namespaces.
bool estimateHorizon(const SLMat3f &enuRs, const SLMat3f &sRc, SLVec3f &horizon)
T geoDegMinSec2Decimal(int degrees, int minutes, T seconds)
convert geodetic datum defined in degrees, minutes and seconds to decimal