]> git.localhorst.tv Git - blobs.git/blobdiff - src/world/Planet.hpp
fix friction
[blobs.git] / src / world / Planet.hpp
index 237159994c47da1c9dbd1e23bd235ffd2214cbb0..f7efc585d6dbac8f58bf6ca0b3ae2cbddbcfedc2 100644 (file)
@@ -36,11 +36,13 @@ public:
 
 public:
        /// surface normal
-       glm::dvec3 NormalAt(const glm::dvec3 &p) const noexcept { return normalize(p); }
+       glm::dvec3 NormalAt(const glm::dvec3 &p) const noexcept { return glm::normalize(p); }
        /// height over surface
-       double ElevationAt(const glm::dvec3 &p) const noexcept { return length(p) - Radius(); }
+       double ElevationAt(const glm::dvec3 &p) const noexcept { return glm::length(p) - Radius(); }
        /// distance to planet center
-       double DistanceAt(const glm::dvec3 &p) const noexcept { return length(p); }
+       double DistanceAt(const glm::dvec3 &p) const noexcept { return glm::length(p); }
+       /// acceleration due to gravity at given point
+       glm::dvec3 GravityAt(const glm::dvec3 &p) const noexcept { return NormalAt(p) * (-GravitationalParameter() / glm::length2(p)); }
 
        /// get ground tile
        Tile &TileAt(const glm::dvec3 &) noexcept;