Cloud Window

struct simul::clouds::CloudWindow

Public Functions

const CloudWindow &operator=(const CloudWindow&)

assignment operator only copies properties, not state.

void Reset()

Reset offsets.

void InitWindowCentre(double lat_degrees, double long_degrees, double x_heading_degrees)

Initialize the window.

float UpdateWindowCentre(float lat_degrees, float long_degrees)

Returns updated x heading in degrees.

Returns updated x heading in degrees. We pass in the viewpoint lat/long, this is what we want to keep the window centre close to. The cloud volume is offset from the origin by the windOffset.

void MoveCloudWindow(int x, int y)

Translate the cloud window by the given x and y.

void CheckForOriginChange(crossplatform::Quaterniond new_origin, const CloudRenderingOptions &opts)

Check if the cloud window origin has changed, and update values if it has.

void GetLatitudeLongitudeHeading(vec3 pos, double &lat, double &lon, double &head) const

Get the latitude/longitude referred to by the specified position value.

void GetOriginLatitudeLongitudeHeading(double &lat_deg, double &lon_deg, double &head_deg) const

Get the latitude/longitude referred to by the specified quaternion.

double GetOriginLatitudeDegrees() const

Get the latitude referred to by the origin quaternion.

double GetOriginLongitudeDegrees() const

Get the longitude referred to by the origin quaternion.

struct simul::clouds::GeodeticPlanet

Definitions of a planet’s shape: the defaults are the WGS84 Earth.

Public Members

double semiMajorAxis = 6378.1370

Semi-major axis.

double inverseFlattening = 298.257223563

Flattening Factor of the Earth.

double w = 7292115 * 1e-11

Nominal Mean Angular Velocity.

double GM = 3986004.418108

Geocentric Gravitational Constant.