Skip to content

Conversation

@oznogon
Copy link
Contributor

@oznogon oznogon commented Dec 12, 2025

Implement optional manual control of GuiRotatingModelView 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 also work
output.mp4

@oznogon oznogon changed the title Allow manual control of GuiRotatingMouseView Allow manual control of GuiRotatingModelView Jan 16, 2026
@oznogon oznogon force-pushed the manual-rotatingmodelview-control branch from a7c7052 to 799409b Compare January 16, 2026 22:11
- 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
@oznogon oznogon force-pushed the manual-rotatingmodelview-control branch from 5fb93d9 to 811be3c Compare January 16, 2026 23:28
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