cesium-native 0.64.0
Loading...
Searching...
No Matches
EarthGravitationalModel1996Grid.h
1#pragma once
2
3#include <CesiumGeospatial/Library.h>
4
5#include <cstdint>
6#include <optional>
7#include <span>
8#include <string>
9#include <vector>
10
11namespace CesiumGeospatial {
12
13class Cartographic;
14
23class CESIUMGEOSPATIAL_API EarthGravitationalModel1996Grid final {
24public:
36 static std::optional<EarthGravitationalModel1996Grid>
37 fromBuffer(const std::span<const std::byte>& buffer);
38
48 double sampleHeight(const Cartographic& position) const;
49
50private:
51 EarthGravitationalModel1996Grid(std::vector<int16_t>&& gridValues);
52
56 double getHeightForIndices(size_t vertical, size_t horizontal) const;
57
58 std::vector<int16_t> _gridValues;
59};
60
61} // namespace CesiumGeospatial
A position defined by longitude, latitude, and height.
static std::optional< EarthGravitationalModel1996Grid > fromBuffer(const std::span< const std::byte > &buffer)
Attempts to create a EarthGravitationalModel1996Grid from the given buffer.
double sampleHeight(const Cartographic &position) const
Samples the height at the given position.
Classes for geospatial computations in Cesium.