6 #include "VectorMathDecl.h"
17 namespace SpaceHelpers
24 v3 LocalEcefToZeroAltitudeLocalEcef(
const v3& localEcef,
const dv3& ecefCellOrigin);
48 double GreatCircleDistance(
const LatLong& a,
const LatLong& b,
double sphereRadius);
50 void LatLongBounds(
const LatLong& p,
double greatCircleRadius,
double sphereRadius, LatLong& out_min, LatLong& out_max);
52 void LatLongBoundsFromPoints(
const std::vector<LatLong>& points, LatLong& out_southwest, LatLong& out_northeast);
54 void InflatedLatLongBounds(
55 const LatLong& southwest,
56 const LatLong& northeast,
57 double inflatePercent,
58 LatLong& out_southwest,
59 LatLong& out_northeast
62 bool LatLongBoundsIntersect(
const Space::LatLong& southWestA,
const Space::LatLong& northEastA,
63 const Space::LatLong& southWestB,
const Space::LatLong& northEastB);
65 std::vector<Streaming::MortonKey> CalculateMortonKeysIntersectingBounds(
const int keyDepth,
const Space::LatLong& southWestLatLong,
const Space::LatLong& northEastLatLong);
67 bool IsEcefPointBehindGlobeHorizon(
const dv3& pointEcef,
const dv3& viewLocationEcef);
71 Eegeo::dv3 DirectionFromHeadingDegreesAtPoint(
double headingDegrees,
const dv3& pointEcef);
73 double HeadingDegreesFromDirectionAtPoint(
const dv3& directionEcef,
const dv3& pointEcef);