Commit Graph

25 Commits

Author SHA1 Message Date
SoftFever
845baaefbb Feature/fix crash on linux when clicking assemble feature (#12739)
* fix crash on Linux when clicking Assemble gizmo

* some qol changes for dev

* Revert "some qol changes for dev"

This reverts commit ffe321370b.
2026-03-12 19:38:36 +08:00
Ioannis Giannakas
d6815653f4 Merge branch 'main' into libvgcode 2025-12-18 12:55:11 +00:00
yw4z
22d2fe9b37 UI fixes / improvements (#11617)
* fix margins on titlebar fold

* update

* Update Plater.cpp

* update

* Update toolbar_double_directional_arrow.svg

* Update toolbar_double_directional_arrow.svg

* object list variable height icon

* Update tab_multi_active.svg

* update ams icons

* match popup border color

* Update param_advanced.svg

* Update custom-gcode_advanced.svg

* match label & parameter box width on object table

* revert changes for orange colors

* match sizes of radio buttons on widgets

* Update GLGizmoSVG.cpp
2025-12-18 12:17:29 +00:00
Andrew Sun
c92328c9cc Port libvgcode from PrusaSlicer 2.8.0
Includes (but is not limited to) the following commits:

SPE-2218 - libvgcode - Fixed color of wipe moves for speed range view
SPE-2218 - libvgcode - Fixed detection of fan speed range
SPE-2218 - libvgcode - Fixed detection of temperature range
SPE-2218 - libvgcode - Fixed colors for Actual volumetric flow rate view
SPE-2214 - Fixed detection of toolpaths bounding box in GCodeViewer
SPE-2206 - Modified LibBGCode.cmake to get latest version of libbgcode which fixed parsing of gcode lines G4
libvgcode - Fixed potential out of bound access in ViewerImpl::update_view_full_range()
Tech ENABLE_GL_CORE_PROFILE set as default
Tech ENABLE_OPENGL_ES replaced by build option SLIC3R_OPENGL_ES
libvgcode - Precompiler definition of ENABLE_OPENGL_ES moved into CMakeLists.txt
Added missing include
libvgcode - Textures setup modified to work when building using emscripten
libvgcode - small optimization
libvgcode - fixed OpenGLWrapper::unload_opengl()
libvgcode - CMakeLists.txt modified to work with emscripten
libvgcode - Replace 'glVertexAttribIPointer()' with 'glVertexAttribPointer()' in SegmentTemplate::init() for OpenGL ES
libvgcode - Replace 'xor' with '^' Bitset.hpp
libvgcode - Newer glad library for OpenGL 4.6 and OpenGL ES 3.0
libvgcode - Alternate fix in method ViewerImpl::update_heights_widths() for OpenGL ES
libvgcode - Fixes in glAssertRecentCallImpl()
libvgcode - Fixes in method ViewerImpl::update_heights_widths() for OpenGL ES
Fixed ES shaders so they work with OpenGL ES 3.0
libvgcode - Use multiple plain textures in place of texture buffers for OpenGL ES
libvgcode - Use plain textures in place of texture buffers for OpenGL ES (partial implementation using one texture per buffer)
libvgcode - refactoring of class OpenGLWrapper
libvgcode - small refactoring in shaders
libvgcode - replacement of glMapBuffer() call for OpenGL ES
Fixed warning
libvgcode - Changes into CMakeLists.txt
Fixed debug export of gcode data to be configuration indipendent
Disabled tech ENABLE_NEW_GCODE_VIEWER_DEBUG
Removed obsolete tech ENABLE_GCODE_VIEWER_DATA_CHECKING
Code cleanup and techs removal - completed
Code cleanup and techs removal - step 1
SPE-1872: Implemented G2/G3 lines discretization for gcfMarlinFirmware firmware flavour
SPE-1872: Corrections into GCodeProcessor::process_G2_G3() to match firmware code
SPE-1872: Actual speed profile - Further enhancements of imgui debug window
SPE-1872: Actual speed profile - Rework in its calculation + enhanced imgui debug window
SPE-1872: New imgui widget to show actual speed profile
SPE-1872: Fixed actual speed for seam moves and at extrusion/travel/wipe start
SPE-1872: Fixed rendering of wipe moves when actual speed view is selected
SPE-1872: Actual speed profile extended to travel and wipe moves
SPE-1872: Fixes in function recalculate_trapezoids() and method GCodeProcessor::TimeMachine::calculate_time() to smooth actual speed profile
SPE-1872: Added debug graphic to show move actual speed profile
SPE-1872: libvgcode library: replace volumetric flow rate data with mm3_per_mm to reduce memory usage
SPE-1872: Added visualization of actual volumetric flow rate
SPE-1872: Fixes in calculating actual speed
SPE-1872: Added visualization of actual speed in gcode preview
SPE-2124: Added command line option 'opengl-aa' to allow the user to turn on the automatic selection of max number of supported samples for OpenGL antialising
#12117: Reduced moire patterns by using the highest number of samples available for multisampling
New gcode visualization integration - Partially enabled imgui debug window
New gcode visualization integration - Fixed center of gravity calculation and rendering
New gcode visualization library - Interface for estimated times
New gcode visualization library - Tool marker rendering
New gcode visualization library - Axes aligned bounding boxes calculation
Removed obsolete debug code
New gcode visualization library - Added statistic of used memory
New gcode visualization library - Separation of tool colors and color changes colors to simplify client code
Added missing include
New gcode visualization library - Added print color changes detection
New gcode visualization library - Modified OpenGL ES context detection
New gcode visualization library - Another makefile cleanup
New gcode visualization library - Makefiles cleanup
New gcode visualization library - Added suppression of error 'This function or variable may be unsafe' in VS2022
New gcode visualization library - Compatibility with OpenGL ES
New gcode visualization library - Interface cleanup and documentation
New gcode visualization library - Extended interface to give access to estimated times
New gcode visualization integration - Toggling of top layer only view state
New gcode visualization integration - Removed imperial units from tool position data
Small refactoring
New gcode visualization library - Custom values for travel and wipe moves radius
New gcode visualization library - Allow customization of range colors
New gcode visualization library - Partial update of interface comments/documentation
New gcode visualization integration - Follow-up of 35ee55e29bb231fd01a2eb71ae293832a37ca65d - Better fix for toolpaths visible range when toggling options' visibility
New gcode visualization integration - Fixed toolpaths reset
New gcode visualization library - Fixed method set_option_color()
New gcode visualization library - Fixed method ViewerImpl::set_extrusion_role_color()
New gcode visualization library - Added methods to release gpu resources on demand.
New gcode visualization library - Travel and wipe moves as options
New gcode visualization integration - Fixed toolpaths visible range when toggling options' visibility
New gcode visualization integration - Fixed management of gcode preview view type
New gcode visualization - Fixed wrong include
New gcode visualization - Added missing headers
New gcode visualization - Refactoring + added missing headers
New gcode visualization - New code set as standalone library + embed glad library to load OpenGL functions
New gcode visualization - Fixed errors and warnings when building the new code as a standalone library
New gcode visualization integration - Fixed layers ordering in pre-gcode preview
New gcode visualization integration - Fixed objects' tool colors in pre-gcode preview
Code cleanup
New gcode visualization integration - Tool position properties data window
New gcode visualization integration - Fixed in export toolpaths to obj
New gcode visualization - Inlining in source code
Refactoring
New gcode visualization integration - Export toolpaths to obj
Some refactoring and warning fix
New gcode visualization integration - Customizable travel moves colors
New gcode visualization integration - Customizable options colors
New gcode visualization integration - Customizable extrusion roles colors
New gcode visualization integration - Fixed pre-gcode preview layers times
New gcode visualization integration - Modify pre-gcode preview to use the new toolpaths renderer, objects WIP
New gcode visualization - Modify pre-gcode preview to use the new toolpaths renderer, WIP (brim/skirt/wipe tower)
New gcode visualization integration - Do not reset visible range when toggling options/roles visibility
New gcode visualization - Fixed color of first vertex of top layer (when top layer only option is enabled)
New gcode visualization - Customizable travels and wipes segment radius
New gcode visualization integration - Removed tech ENABLE_GCODE_VIEWER_STATISTICS
New gcode visualization integration - Added check of OpenGL version
New gcode visualization integration - Removed GCodeProcessorResult::spiral_vase_layers
Another bunch of warnings fixes
Fixed warnings
New gcode visualization integration - Removal of old visualization
Fixed includes
New gcode visualization integration - File structure of new code separated in api + src
New gcode visualization integration - View ranges management moved to new visualizer
New gcode visualization integration - Fixed top layer only visualization for MMU printers
New gcode visualization integration - Removed dependency on imgui from new visualizer
Some refactoring
New gcode visualization integration - Removed dependency on Slic3r::GCodeProcessorResult from new visualizer
New gcode visualization integration - Moves' data conversion moved to client side
New gcode visualization: layers times refactoring
A bunch of fixes for the new gcode visualization
New gcode visualization: render in gray color layers containing pause print or custom gcode options when in Color Print view
New gcode visualization integration - Tool colors
New gcode visualization integration - Layers times
New gcode visualization integration - Travels and Extrusion roles times
Fixed detection of start/end of contiguous extrusion paths
New gcode visualization integration - Extrusion roles
New gcode visualization integration - Colors
New gcode visualization integration - Tool position
Center of gravity and tool marker may both be rendered with fixed screen size and a scaling factor
Fixed rendering of options in new gcode visualization
Tool marker NOT rendered by the new visualization code
Center of gravity marker NOT rendered by the new visualization code
Fixed toolpaths_cog shaders
Tool position window for new gcode visualization
Top layer only coloring for neww gcode visualization
Refactoring in preview's new visualization
Hidden imgui debug dialog for new visualization in preview
Synchronization of moves between old and new visualization
Fixed missing gcode window in new visualization
Rendering of debug imgui dialog moved from class libvgcode::Viewer to class libvgcode::Toolpaths + warnings fixing
Some functionality moved from class libvgcode::Viewer to class libvgcode::Toolpaths
Some refactoring and cleanup
Refatoring of PathVertex and Toolpaths::load()
SPE-1982: Tech ENABLE_NEW_GCODE_VIEWER - 1st installment of new toolpaths rendering code (WIP)
2025-09-24 22:49:14 -04:00
Alexandre Folle de Menezes
914425e526 Update strings for keyboard shortcuts (#10399)
* Update strings for keyboard shortcuts
2025-09-09 21:48:42 +08:00
yw4z
0726819547 Color & Icon fixes / improvements (#9773)
* init

* update

* update

* revert changes for stepmesh dialog

* make highlight arrow more obvious

* reset to zero icons

* modernize return icon

* better dark mode icon for project page

* fix return arrow

* revert changes for hyperlinks

* update

* Update SelectMachine.cpp

* Update SendToPrinter.cpp

* update

* update plate icons

* dragcanvas dark mode support

* revert changes for calibration page

* revert changes for bind dialog

* Update BindDialog.cpp

* fix green text on bbl calibration window

* Update AmsMappingPopup.cpp

* match measure axis color

* fix

* update

* Update AmsMappingPopup.cpp

* revert color change for hyperlink

* Update NotificationManager.cpp

* update

* add icon for resonance avoidance

* update

* Fix wrong icon color after switching dark mode

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-17 15:26:55 +08:00
Dipl.-Ing. Raoul Rubien, BSc
3ecca6116d fixes compiler warnings (#9619)
* compiler warnings: adds SYSTEM to [target_]include_directories to skip warnings originating from dependencies

* compiler warnings: uninitialized/unused variables, missing parenthesis, pragma

* compiler warnings: redundant template type, missing curly braces, pass 0 instead of NULL as int argument

* compiler warnings: removes fclose(fp) where fp==nullptr since fclose() has attribute __nonnull((1))

* compiler warnings: uninitialized variables, missing parentheses, missing curly braces

* compiler warnings: ? as lower precedence than <<

* compiler warnings: unused variable

* compiler warnings: unused result

* compiler warnings: undefined/unused variable

* compiler warnings: uninitialized variable
2025-06-14 21:05:25 +08:00
Alexandre Folle de Menezes
b8c5ddd0ee Fix the spelling/grammar on the original english strings (#9487)
* Fix the spelling/grammar on english strings

* Fix the spelling/grammar on english strings, part 2
2025-06-01 19:32:36 +08:00
Alexandre Folle de Menezes
57a6f61349 Fix the spacing on the original english strings (#9596)
* Remove extra spaces between words

* Remove extra spaces after punctuation

* Remove extra spaces before punctuation

* Always needs a space after punctuation

* Always needs a space before parens

* Remove trailing spaces before newline
2025-05-16 16:31:58 +08:00
Alexandre Folle de Menezes
3e48390cee Remove markers from strings that don't need to be translated (#8842)
Remove markers from text that does not need to be translated
2025-05-11 15:04:48 +08:00
Alexandre Folle de Menezes
1ba7f18b90 Mark strings missing from translation (#8757) 2025-03-09 14:14:27 +08:00
Noisyfox
51916ff058 Avoid using auto as type of Eigen expressions. (#8577)
According to https://eigen.tuxfamily.org/dox/TopicPitfalls.html one
should just avoid using `auto` as the type of an Eigen expression.

This PR fixes most of them I could found in the project. There might be
cases that I missed, and I might update those later if I noticed.

This should prevent issues like #7741 and hopefully fix some mysterious
crashes happened inside Eigen calls.
2025-02-26 23:07:23 +08:00
Noisyfox
f38825a538 Update button to Orca color scheme. Update a typo. 2024-11-07 09:58:17 +08:00
Noisyfox
ceeebda1dc Fix null pointer issue 2024-11-06 23:38:33 +08:00
Noisyfox
3d45414b71 Assembly: Port BBS' assembly gizmo
Co-authored-by:  zhou.xu <zhou.xu@bambulab.com>
2024-11-06 23:38:17 +08:00
Noisyfox
6e9257c8ac Measure: Port of BBS' improved version of measure gizmo
Co-authored-by:  zhou.xu <zhou.xu@bambulab.com>
2024-11-06 20:19:52 +08:00
SoftFever
b3fff4ffd5 Removed the copyright and credits in the header of each file. This information is outdated and hard to update. Orca Slicer maintains the autoher info in git history so this is not necessary. 2024-06-15 14:56:44 +08:00
yw4z
34d3409951 Fixes for new icons (#5221)
* Sidebar > Height range > Add / Delete range icons

* Add icon for Object list > Layers (Height Range)

* Add icon for Object list > Range (Hight Range item)

* Add icon for Object list > Support / Color painting

* File Renamed for Calibration Tab

* Update Sidebar icons

* Add icon for CrossHatch fill pattern

* Delete leftover icons from previous commit

* Update Filament Settings icons

* Update Machine Settings icons

* Update plaholders editor icons

* Fix for Printer Setting > Extruder icons and Add support for icons for its tabs

* Update undefined category icon on compare window with low res compatible one

* Update toolbar > variable layer height icon

* Fix warning icon on Emboss & SVG gizmo

* Delete leftover icons from previous commit

* Gizmos > Keyboard cheat sheet icon resolution fix

* Combo box arrow resolution fix

* Delete leftover icons from previous commit

* Update plate & toolbar icons

* Fix: ComboBox > Dropdown menu checkmark not visible on light theme

* Delete leftover icons from previous commit

* Restore icons for plate rename

* Swap directions of notification expand / collapse icons

* Mixed

• Increases contrast of icons on light theme
• Removes opacity from edit, delete, search... icons
• Fixes different color for advanced toggle on dark mode
• Fixes checkboxes not aligned with other boxes
• Style fixes for checkboxes

* Fix some colors not changing

* Slightly changed color paint icon

Spray icon is now taller and fits better with brush icon on seam / support paint

* Minor changes on seam and support related icons

* Fix blurry icons that vertically centered on gizmos

* Update warning icon on dialogs

* Fix plate icons rendering issue

* Update icons for Gap fill and Fill on color paint and add icon for Skirt

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-20 23:18:05 +08:00
Noisyfox
933aa3050b Port Emboss & SVG gizmo from PrusaSlicer (#2819)
* Rework UI jobs to make them more understandable and flexible.

* Update Orca specific jobs

* Fix progress issue

* Fix dark mode and window radius

* Update cereal version from 1.2.2 to 1.3.0

(cherry picked from commit prusa3d/PrusaSlicer@057232a275)

* Initial port of Emboss gizmo

* Bump up CGAL version to 5.4

(cherry picked from commit prusa3d/PrusaSlicer@1bf9dee3e7)

* Fix text rotation

* Fix test dragging

* Add text gizmo to right click menu

* Initial port of SVG gizmo

* Fix text rotation

* Fix Linux build

* Fix "from surface"

* Fix -90 rotation

* Fix icon path

* Fix loading font with non-ascii name

* Fix storing non-utf8 font descriptor in 3mf file

* Fix filtering with non-utf8 characters

* Emboss: Use Orca style input dialog

* Fix build on macOS

* Fix tooltip color in light mode

* InputText: fixed incorrect padding when FrameBorder > 0. (ocornut/imgui#4794, ocornut/imgui#3781)
InputTextMultiline: fixed vertical tracking with large values of FramePadding.y. (ocornut/imgui#3781, ocornut/imgui#4794)

(cherry picked from commit ocornut/imgui@072caa4a90)
(cherry picked from commit ocornut/imgui@bdd2a94315)

* SVG: Use Orca style input dialog

* Fix job progress update

* Fix crash when select editing text in preview screen

* Use Orca checkbox style

* Fix issue that toolbar icons are kept regenerated

* Emboss: Fix text & icon alignment

* SVG: Fix text & icon alignment

* Emboss: fix toolbar icon mouse hover state

* Add a simple subtle outline effect by drawing back faces using wireframe mode

* Disable selection outlines

* Show outline in white if the model color is too dark

* Make the outline algorithm more reliable

* Enable cull face, which fix render on Linux

* Fix `disable_cullface`

* Post merge fix

* Optimize selection rendering

* Fix scale gizmo

* Emboss: Fix text rotation if base object is scaled

* Fix volume synchronize

* Fix emboss rotation

* Emboss: Fix advance toggle

* Fix text position after reopened the project

* Make font style preview darker

* Make font style preview selector height shorter

---------

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>
Co-authored-by: ocornut <omarcornut@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-09 22:46:18 +08:00
Noisyfox
ce2836a7f9 Measure: Fix copy to clipboard encoding 2023-11-04 11:41:11 +08:00
Noisyfox
1bfd9f63b6 Measure: Update measure dialog layout 2023-11-04 11:41:11 +08:00
Noisyfox
4843cda535 Measure: Use Orca color schema 2023-11-04 11:41:11 +08:00
Noisyfox
2c00408d08 Measure: Update measure gizmo tooltip 2023-11-04 11:41:11 +08:00
Noisyfox
c31e1f5229 Measure: Fix measure window position 2023-11-04 11:41:10 +08:00
enricoturri1966
f72d42f920 Measure: Initial porting of Measure Gizmo 2023-11-04 11:41:10 +08:00