38 glm::vec3
focal { 0.0F, 0.0F, 0.0F };
64[[nodiscard]] MAYAFLUX_API OrbitState
make_orbit_state(
const OrbitConfig& config);
74[[nodiscard]] MAYAFLUX_API glm::vec3
orbit_eye(
const OrbitState& state);
86 const OrbitState& state,
float aspect);
119MAYAFLUX_API
void apply_orbit_pan(OrbitState& state,
float dx,
float dy);
void apply_orbit_rotate(OrbitState &st, float dx, float dy)
Apply a mouse delta to azimuth and elevation.
glm::vec3 orbit_eye(const OrbitState &st)
Derive eye position from the current orbit state.
void snap_orbit_ortho(OrbitState &st, int view)
Snap to a named ortho view, preserving distance and focal point.
void apply_orbit_scroll(OrbitState &st, float ticks)
Dolly the camera toward or away from the focal point.
ViewTransform compute_orbit_view_transform(const OrbitState &st, float aspect)
Build a ViewTransform from the current OrbitState.
void apply_orbit_pan(OrbitState &st, float dx, float dy)
Pan the focal point in the camera's local right/up plane.
OrbitState make_orbit_state(const OrbitConfig &config)
Construct an OrbitState from an OrbitConfig.
float pan_sensitivity
World units per pixel, scaled by distance.
glm::vec3 focal_point
World-space point the camera orbits around.
float initial_distance
Initial radius from focal point.
float min_distance
Minimum dolly distance.
float initial_azimuth
Initial horizontal angle in radians.
float initial_elevation
Initial vertical angle in radians.
float scroll_speed
Fractional distance change per scroll tick.
float max_distance
Maximum dolly distance.
float rotate_sensitivity
Radians per pixel for MMB drag.
Construction parameters for an orbit navigation controller.
float distance
Radius from focal point.
glm::vec3 focal
World-space orbit target.
float elevation
Vertical angle in radians, clamped away from poles.
float azimuth
Horizontal angle in radians.
Mutable orbit navigation state.