Commit Graph
7 Commits
Author SHA1 Message Date
Dima Buzdyk 5d45770745 gui: fix zoom-to-mouse (#4844)
gui: fix zoom-to-mouse

Plater disappeared when zoom-to-mouse enabled and user tries to zoom
with a side view enabled (Ctrl+<3..6>).

Mouse/screen center position estimation in 3D is made by calculating
intersection of a mouse vector which comes 'through' the screen with an
XY plane. However, when screen is parallel to Z axis, intersection point
located at infinite which results in infinite camera translation vector.

This change switches mouse position estimation to use of projection
matrix like its done for camera panning.
2024-04-14 17:49:44 +08:00
Dima Buzdyk 72933ebc85 Series of fixes for the Creality Ender 3 V3 SE (#4813)
* e3v3se: disable m73 as not supported in FW

* e3v3se: remove thumbnails

Remove thumbnails generation to not confuse users.
Currently event CrealityPrint does not generate thumbnails for the E3 V3 SE.

* e3v3se: update motion capabilities

Update motion parameters for the Ender 3 V3 SE profiles:
 - max acceleration on all axis to 2500 as per product spec
 - max X and Y speeds to 250 as per product spec
 - max Z speed to 5 as set in factory defaults (M502, M503)
 - max E speed to 40 as presented in recommended print parameters on the
   product page

Product spec sheet:
    https://wiki.creality.com/en/ender-series/ender-3-v3-se/quick-start-guide/user-manual
2024-04-09 20:42:22 +08:00
Dima Buzdyk ff5035ffae Fix go-to-layer dialog in gcode preview (#4816)
gcode-preview: fix go-to-layer dialog
2024-04-07 22:12:28 +08:00
Dima BuzdykandSoftFever 14fc48ffbd gui: reverse mouse zoom option (#4668) (#4677)
* gui: reverse mouse zoom option (#4668)

Add configuration entry for reverse mouse zoom option
Define SUPPORT_REVERSE_MOUSE_ZOOM macro to enable feature code.

* remove SUPPORT_REVERSE_MOUSE_ZOOM macro

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-04-04 21:52:07 +08:00
Dima Buzdyk ff7faca943 Fix model load in debug build (#4656)
* Fix model load in debug build

Debug build exit with error on model load due to failed assertion (file
path redacted):

    orca-slicer: <...>/OrcaSlicer/src/libslic3r/Model.cpp:1361: void Slic3r::ModelObject::update_min_max_z(): Assertion `! this->instances.empty()' failed.

Assertion failed due to model->ensure_on_bed() being called for object
which yet to be load from file.

Do not call ensure_on_bed() for models read from file since they may be
read with no default instance.

ensure_on_bed() called later within withing Plater::load_model_objects()
for each object added.

* Rework according to code review comment
2024-04-04 21:47:42 +08:00
Dima Buzdyk 9d81245eff Touchpad-friently 3d navigation (#4598)
* gui: camera navigation style option

Add camera navigation style config option as a preparation for
introduction of touchpad style navigation

* gui: touchpa-friently 3d navigation

Implement FreeCAD-inspired touchpad-friendly camera operation mode:
- Shift+move: panning
- Alt+move: rotation

Set "Camera mode" to "Touchpad" in settings menu to activate this mode.

* cache current navigation style in class member variable

Cache current navigation style on canvas focus, do not
request settings value each mouse event.

* force focuse 3d preview on preferences window close

Explicitly force focus 3D preview pane on closing preferences window.
This allows preferences be updated only once without checking current
value each input event.
Another benefit is to have 3D view in focus is that user could
immediatelly use 3d-view shortcuts like Ctrl+<1..7> without clicking to
the 3D view first.
2024-04-04 21:46:14 +08:00
Dima Buzdyk 45ef4ae790 gui: fix media eject on linux (#4700) (#4701)
* gui: fix media eject on linux (#4700)

Removable media is not ejected on linux platform

Make get_removable_drive_from_path() check if path is a dir or not.
Trim last component in latter case only.

* Revert unnecessary style changes
2024-03-29 11:12:37 +08:00