- void FOV(float f) noexcept;
- void Aspect(float r) noexcept;
- void Aspect(float w, float h) noexcept;
- void Clip(float near, float far) noexcept;
+ Camera &FOV(float f) noexcept;
+ Camera &Aspect(float r) noexcept;
+ Camera &Aspect(float w, float h) noexcept;
+ Camera &Clip(float near, float far) noexcept;
+
+ const world::Body &Reference() const noexcept { return *ref; }
+ Camera &Reference(const world::Body &) noexcept;
+
+ /// standing on given surface, with pos.z being elevation over NN
+ /// looking at given coordinates
+ Camera &FirstPerson(int surface, const glm::vec3 &pos, const glm::vec3 &at) noexcept;
+ /// looking straight down at surface from above
+ Camera &MapView(int surface, const glm::vec3 &pos, float roll = 0.0f) noexcept;
+ /// look at center, position relative to orbital reference plane for children
+ Camera &Orbital(const glm::vec3 &pos) noexcept;