Skip to content

Conversation

@oznogon
Copy link
Contributor

@oznogon oznogon commented Dec 12, 2025

Implement optional manual control of GuiRotatingMouseView elements, such as those used in DatabaseView.

The default initial behavior of the model rotating within the view is unchanged, except for new FoV checks that attempt to better fit the model in the viewport when the viewport is vertically oriented. On load, the model spins automatically within the viewport. When clicked/tapped, this feature allows the model view to be manually manipulated.

  • Implement mouse click, drag, scrollwheel on element
    • Single left click resets to default spinning view behavior
    • Left click-drag rotates the model around its center, with constraints
    • Mouse wheel up zooms in, down zooms out
  • Default view FoV constrained to avoid clipping in vertical aspect ratios; see https://www.litchiutilities.com/docs/fov.php on horizontal/vertical FoV conversion logic
  • Enabled by default; GuiRotatingModelView::setManualRotationAllowed(false) to disable
  • Touch interactions that are read as mouse inputs (two-finger scroll, tap-drag) also work
output.mp4

- Implement mouse click, drag, scrollwheel on element
  - Single left click resets to default spinning view behavior
  - Left click-drag rotates the model around its center, with
    constraints
  - Mouse wheel up zooms in, down zooms out
- Default view FoV constrained to avoid clipping in vertical
  aspect ratios; see https://www.litchiutilities.com/docs/fov.php
  on horizontal/vertical FoV conversion logic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant