* Get libslic3r tests closer to passing
I can't get geometry tests to do anything useful. I've added extra
output, but it hasn't helped me figure out why they don't work
yet. That's also probably the last broken 3mf test doesn't work.
The config tests were mostly broken because of config name changes.
The placeholder_parser tests have some things that may-or-may-not
still apply to Orca.
* Vendor a 3.x version of Catch2
Everything is surely broken at this point.
* Allow building tests separately from Orca with build_linux.sh
* Remove unnecessary log message screwing up ctest
Same solution as Prusaslicer
* Make 2 TriangleMesh methods const
Since they can be.
* Move method comment to the header where it belongsc
* Add indirectly-included header directly
Transform3d IIRC
* libslic3r tests converted to Catch2 v3
Still has 3 failing tests, but builds and runs.
* Disable 2D convex hull test and comment what I've learned
Not sure the best way to solve this yet.
* Add diff compare method for DynamicConfig
Help the unit test report errors better.
* Perl no longer used, remove comment line
* Clang-format Config.?pp
So difficult to work with ATM
* Remove cpp17 unit tests
Who gives a shit
* Don't need explicit "example" test
We have lots of tests to serve as examples.
* Leave breadcrumb to enable sla_print tests
* Fix serialization of DynamicConfig
Add comments to test, because these code paths might not be even used
anymore.
* Update run_unit_tests to run all the tests
By the time I'm done with the PR all tests will either excluded by
default or passing, so just do all.
* Update how-to-test now that build_linux.sh builds tests separately
* Update cmake regenerate instructions
Read this online; hopefully works.
* Enable slic3rutils test with Catch2 v3
* Port libnest2d and fff_print to Catch2 v3
They build. Many failing.
* Add slightly more info to Objects not fit on bed exception
* Disable failing fff_print tests from running
They're mostly failing for "objects don't fit on bed" for an
infinite-sized bed. Given infinite bed is probably only used in tests,
it probably was incidentally broken long ago.
* Must checkout tests directory in GH Actions
So we get the test data
* Missed a failing fff_print test
* Disable (most/all) broken libnest2d tests
Trying all, not checking yet though
* Fix Polygon convex/concave detection tests
Document the implementation too. Reorganize the tests to be cleaner.
* Update the test script to run tests in parallel
* Get sla_print tests to build
Probably not passing
* Don't cause full project rebuild when updating test CMakeLists.txts
* Revert "Clang-format Config.?pp"
This reverts commit 771e4c0ad2.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Clipper: Verify range of int32 coordinates on input.
Cherry-picked from prusa3d/PrusaSlicer@fa7debf49d
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* ClipperLib: Optimized PointInPolygon() to calculate cross products
with int64s instead of doubles.
Cherry-picked from prusa3d/PrusaSlicer@9dca8403fe
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Reworked the ClipperLib / Polygon types to use
the tbb::scallable_allocator to better scale on multiple threads.
Cherry-picked from prusa3d/PrusaSlicer@9cde96993e
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* use tbb::scallable_allocator for Polygons and ExPolygon::holes
to better scale on multiple threads
Cherry-picked from prusa3d/PrusaSlicer@b67ad6434d
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Fixed compilation on GCC and CLang
Cherry-picked from prusa3d/PrusaSlicer@b3b44681a9
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Remove clipper2 which is not used
* Removed shiny profiler from clipperlib
Cherry-picked from prusa3d/PrusaSlicer@7e77048593
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* ClipperLib: Further optimization of memory allocation using scalable_allocator.
ClipperLib: SimplifyPolygon() - changed default winding number to positive,
added strictly_simple parameter.
ClipperUtlis simplify_polygons() - removed "remove_collinear" parameter
Cherry-picked from prusa3d/PrusaSlicer@a7e17df25f
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* ClipperLib: emplace_back() instead of push_back().
Cherry-picked from prusa3d/PrusaSlicer@2e150795b1
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Fixed issue in a 32bit clipper, where IntersectPoint() checked for
the Y coordinate of the calculated intersection point for validity,
but the Y coordinate was already rounded to 32bits, thus an overflow
may have in rare cases masked invalidity of the result.
Cherry-picked from prusa3d/PrusaSlicer@b39c33414f
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Fixed Vojtech's out of boundary assert in Clipper library.
Cherry-picked from prusa3d/PrusaSlicer@0a202dcff3
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Update clipper to 6.4.2.
Cherry-picked from prusa3d/PrusaSlicer@b8b3cccb40
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Try fix cmake opencv
---------
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* NEW:add move and rotate gizmo in assemble view
Cherry-picked from bambulab/BambuStudio@d9e47bd9a9
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* Deselect other parts if Alt is pressed when selecting
Cherry-picked from bambulab/BambuStudio@f5eb2899e7
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* FIX:z offset is error after copy and paste several objects
jira: STUDIO-6753 STUDIO-7135
Change-Id: I6d9c8eb0c957ff1e3194709704ceb6c3920baa4f
(cherry picked from commit 847a7141a6f47e409566b19e73c0ebdeb08f39e2)
(cherry picked from commit a5cc52beb7eef5848368e660ca4f14e95ad5f7d5)
* FIX:arrow direction in scaling tool is incorrect
Jira: STUDIO-5672
Change-Id: I82c0ab336805e34c8380f93e64d3b9dbbf283805
(cherry picked from commit f6f27b700f0305854fcdbcb1191af25a4b8bdbe4)
* FIX:world cs is displayed incorrectly
The value of world coordinate system for model_volume
is displayed incorrectly
Jira: STUDIO-6399
code is from PrusaSlicer
thanks for PrusaSlicer and enricoturri1966
commit 325709c5ae9b937867b36103a41d12a102c99292
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Thu Jan 26 15:49:00 2023 +0100
SPE-1419 - Fixed reset skew resetting mirror, reset scale resetting mirror, changed labels in Object Manipulator panel, scale of instances using the Object Manipulator panel always made as absolute
Change-Id: I30fdd39effd73b8dc027e4263fa7e64937b84326
Cherry-picked from bambulab/BambuStudio@0b46b9848b
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
* FIX:fix scale problem
add tool tip for move,rotate,scale gizmo
Jira: STUDIO-6425 STUDIO-6419
Change-Id: I0b89c9b70f83cde21c6a407bcecd78c925515cfa
Cherry-picked from bambulab/BambuStudio@6dad59102b
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* NEW:add Object coordinates in move gizmo
jira: none
Part of the code references PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit c12eeee12f9e2c91a9dfe7905f1370143805f038
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Mon Oct 2 14:26:36 2023 +0200
SPE-1926: Tech ENABLE_CGAL_BOUNDING_SPHERE - Use selection's bounding sphere center as pivot for rotations
Change-Id: Iae7e4539c198af3ff1aa99e1c0ce015fbcf80256
(cherry picked from commit 2b73bc915ee27218c9803ba0a01b0d3e47adf1da)
Cherry-picked from bambulab/BambuStudio@98cce3b656
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* FIX:fix imgui style at Object coordinate
in move tool
jira:STUDIO-7141
Change-Id: Ib2900012c28878c4e7ad97eb0cf319f693cb9f6f
(cherry picked from commit b7b09c82897678c4f3615713bc5d1cc7a3b17b19)
(cherry picked from commit c89732a04619a6d910b723c126515bae802f7167)
* ENH:use local cs for non_model_part better
jira: STUDIO-7234
Change-Id: I0f0e99429e5e0b7cc4932a661eceffcff4a495f6
(cherry picked from commit b4305a3bfc9e5ae05c1785a710238a70f2dfb44a)
(cherry picked from commit b28ac4f812f0024ec619c5d1b3c96e4cef4debdb)
* ENH:add a cross mark for object cs
jira: STUDIO-6947
Change-Id: Iaaab4f072045756ac3ba12c3f65e1c7f04ba65b8
(cherry picked from commit a2a2f49b4d94f257d36c9d17b4ec952e5dc9f0eb)
Cherry-picked from bambulab/BambuStudio@8400e162a7
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* NEW:add tip button for move,rotate,scale
jira: STUDIO-7273
Change-Id: I44aeecd8aaa17ec49ac1d8ff2bee5c3729c52061
(cherry picked from commit 998f33b4ce588f59cef345e327a97f6f669f6089)
(cherry picked from commit f5eb2899e7252ea3ff0f8a79ef8d55c6009ebb28)
* FIX:scale and size sholud >0 in scale tool
jira: STUDIO-7433
Change-Id: Ibd4d00d9ca4762d002049e97a6d0819649f464db
(cherry picked from commit eaaf11031ee49009af14abbd05bb4a07c88aceda)
(cherry picked from commit 0d393d64b804ba7ae05454bf158de470cc74a6a6)
* Fix crossmark rendering
* Use combox as coord selection
Cherry-picked from bambulab/BambuStudio@56f628dac1
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* NEW:add "world coordinates" scale for scale gizmo
upgrade Transformation class
jira:none
about 75% code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit b32e9366606dce7d4f8de8db84fd902113bdbe28
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Tue Mar 7 14:32:18 2023 +0100
Rework of constrained scaling
Change-Id: I1248ea586e6b8f2fb6cdf3aa901ed7f525c3f111
(cherry picked from commit e10381aad1412b0c47afa340b634faa3af9d1a1f)
Cherry-picked from bambulab/BambuStudio@c0536c09b4
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* ENH:set "Rotate (relative)"
jira:none
code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit 243985173e70c189ad9a86eefaaea0757d9749cb
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Thu May 12 14:33:41 2022 +0200
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Allow for relative rotations
Change-Id: I851939093ffb6881542fb21b434e17cc31a6dab2
(cherry picked from commit e412fa3492fa2ef59b84a84be1ede80935fb8a8d)
* FIX:limit scaling ratio by grabber in scale tool
jira: none
Change-Id: I20a4404d4e4025ae230ab46ba8d8d3e5ffed10e3
(cherry picked from commit 97f63f167e80e859fec49666c8986f5a01f61838)
* FIX:selection should be not empty when update_ui_from_settings
jira: none
Change-Id: I74b76733eba03d148dfd70279ec2ba65f19cc39a
(cherry picked from commit f402685aee747fe5c3740b2cb80fc2a60e129918)
* ENH:add "volume selection" checkbox
jira: none
Change-Id: I68b5f54e37ea2ab9e2b65ac84abc834060f400df
(cherry picked from commit eec7de441bd40408fe688587d2834b0c42c0d66f)
* FIX:add can_sequential_clearance_show_in_gizmo api
jira: STUDIO-7836
Change-Id: Ie0cded272596bafee4e491e379722dcc23035dc4
(cherry picked from commit 715d2b9b7840939663e99e0ecbfcefd8ecf2904f)
* FIX:select all should ban in paint,cut and so on gizmo
jira: STUDIO-7872
Change-Id: Ic6496dbdd892814e1fc41625ee34ffc46f171657
(cherry picked from commit 95e8ca728553081db4ecbb3d865c8b999a6ff2fa)
* FIX:add wipe tower'position in move gizmo
jira: STUDIO-7861
Change-Id: I8147717bc61ba06a7e1fba45532cdadc2ba1174e
(cherry picked from commit 065dddb890d3ec81643b9767397bdad72ae69ebd)
* ENH:fix text coordinate system calculation
jira: STUDIO-6449
Change-Id: I36214c14c348e8f52b96501cd027205819b0dabc
(cherry picked from commit 44287812a0cb212f1bf6fe70e32e1075f532886d)
Cherry-picked from bambulab/BambuStudio@4091f3e042
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* FIX:delete old selection.translate api
jira: STUDIO-8201
code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit 88ce6ccdef5f680709ea8b676688784a7af287dd
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Wed May 11 10:54:42 2022 +0200
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES -
Change-Id: Iafe963f0f7bf9028f32a4fb4a4cc8cc609662283
Change-Id: Ibbc36c004734f35564f0028dd1e537ac926a2f1f
Cherry-picked from bambulab/BambuStudio@c6d9f2685e
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
* FIX:add protection for null pointer
jira: none
Change-Id: I9a9231bab893f5d2afa008f65165269ae176c962
(cherry picked from commit f27a713aaf77b1109fc57b8650efa6b23081f799)
* FIX:when two dir is perpendicular to each other,scale error
(plane_normal.dot(ray_dir))
jira:STUDIO-8274
Change-Id: Ib3145ab75e18c832d20065d204aa41b75f73b673
(cherry picked from commit fbdc9cd580f835d1a873d08ed64baed3b3db6f9a)
* ENH:add "reset real zeros" button in rotate gizmo
jira: STUDIO-8291
Change-Id: Ia10e4d8a2a3a073c22a1306aeab9ffa3e7b77c2b
(cherry picked from commit 738e3f004daa9082709800e4e3d0d9bbe1b7ed7e)
* FIX:add "absolute rotation" in rotate gizmo
jira: STUDIO-8726
Change-Id: I23deb4ab11cf24ca4f0f0c5a35a74268c34f60f6
(cherry picked from commit d26b8f9fcadf8f7709a302991e43be711560e84e)
(cherry picked from commit 496d69f9d1b91c6bd84804e57a276bccf79f0cbd)
* Fix tooltip button size
* Fix issue that reative rotation history not cleared after gizmo closed
* Show selection box in assemble view
* ENH:add an tip icon for assembly view
jira: STUDIO-7155
Change-Id: Ie9e4fa578c8aa5bda9ff771d82f396f8b51026bb
(cherry picked from commit 515f9473347fb912a9dc8c365f1c318506096083)
---------
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Ported filament shrinkage compensation from Prusa Slicer. Updated logic to be 100 = no shrinkage to be consistent with orca definitions
* Code comments update
* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
* Merge remote-tracking branch 'upstream/main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
* 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>