+ /// surface normal
+ glm::dvec3 NormalAt(const glm::dvec3 &p) const noexcept { return normalize(p); }
+ /// height over surface
+ double ElevationAt(const glm::dvec3 &p) const noexcept { return length(p) - Radius(); }
+ /// distance to planet center
+ double DistanceAt(const glm::dvec3 &p) const noexcept { return length(p); }
+
+ /// get ground tile
+ Tile &TileAt(const glm::dvec3 &) noexcept;
+ const Tile &TileAt(const glm::dvec3 &) const noexcept;
+ const TileType &TileTypeAt(const glm::dvec3 &) const noexcept;
+