Lukas Matena
20da7a8175
Merge branch 'lm_drainholes_fix'
2020-08-24 08:11:27 +02:00
Lukas Matena
c51a45ee0f
Drainholes are saved elevated for 3MF compatibility
...
This is a follow-up of previous commit
2020-08-24 08:11:12 +02:00
Lukas Matena
a95509ce36
Changed internal coordinates of drain holes
...
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated
This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
2020-08-24 08:11:12 +02:00
Lukas Matena
ba03429679
Merge branch 'lm_fdm_supports_gizmo_fixes'
2020-08-21 09:49:55 +02:00
Lukas Matena
320964a68c
TriangleSelector paints continuously when dragging fast
...
Previously there would be distinct circles with gaps in between
2020-08-21 09:49:39 +02:00
Lukas Matena
c291717909
Forbid translation of objects when SLA/Hollow/FDM gizmos are active
2020-08-21 09:49:39 +02:00
Lukas Matena
739cd2a4a2
Fixed several indentation-related warnings
2020-08-19 17:15:01 +02:00
Lukas Matena
6d4bb10ec5
Fix of custom supports: object offset for Clipper was incorrectly accounted for
2020-08-12 11:28:30 +02:00
Lukas Matena
fd93d9768d
Fixes of two crashes in paint-on supports
2020-08-12 11:08:10 +02:00
Lukas Matena
afcc14861f
Fix build on GCC (missing forward declaration)
2020-08-07 10:42:48 +02:00
Lukas Matena
41b1dc3d80
Fix of custom supports 3MF loading
...
Multiple-part objects were not handled correctly
2020-08-06 14:08:05 +02:00
Lukas Matena
4bfb69eb14
Added an icon for 'ironing' category
2020-08-03 12:21:00 +02:00
Lukas Matena
87824ef5f8
Merge branch 'lm_triangle_selector'
2020-07-24 17:47:38 +02:00
Lukas Matena
248fba82a4
TriangleSelector: 3MF loading and saving
2020-07-24 17:47:16 +02:00
Lukas Matena
7ddb64783b
TriangleSelector: edge limit is derived from cursor size
2020-07-24 17:47:16 +02:00
Lukas Matena
74a1aeff8e
TriangleSelector: bugfix - backend did not correctly account for mirrorring
2020-07-24 17:47:16 +02:00
Lukas Matena
5a1d9aee15
TriangleSelector: Fix of a macOS crash
...
Calling reset() from constructor relied on uninitialized variable
2020-07-24 17:47:16 +02:00
Lukas Matena
afb5d929c4
TriangleSelector: Schedule restarting background process after edit
2020-07-24 17:47:16 +02:00
Lukas Matena
3b91d11ddf
TriangleSelector: backend is aware of divided triangles
2020-07-24 17:47:16 +02:00
Lukas Matena
0756a7e4b3
TriangleSelector: 'Select by angle' and 'reset selection' functions fixed
2020-07-24 17:47:16 +02:00
Lukas Matena
6baff45759
TriangleSelector: Separated frontend/backend, support of multiple volumes, etc.
2020-07-24 17:47:16 +02:00
Lukas Matena
b250c08ec9
TriangleSelector: Serialization and deserialization
2020-07-24 17:47:16 +02:00
Lukas Matena
814f8be92f
TriangleSelector: getting ready for frontend/backend separation
2020-07-24 17:47:16 +02:00
Lukas Matena
da6acd73e2
TriangleSelector: Vertices are reference-counted and garbage collected
...
Garbage collection is triggered automatically when more than half of all triangles are invalid
2020-07-24 17:47:16 +02:00
Lukas Matena
b9321856f3
TriangleSelector: Reusing of previously calculated triangle divisions, partial garbage collection implementation
2020-07-24 17:47:16 +02:00
Lukas Matena
fb73bb1c66
TriangleSelector: remerging triangles, bugfixes
2020-07-24 17:47:16 +02:00
Lukas Matena
bed28bb2ff
TriangleSelector: even more progress
2020-07-24 17:47:16 +02:00
Lukas Matena
c3db84e382
TriangleSelector: Improvements
2020-07-24 17:47:16 +02:00
Lukas Matena
d2b2446b07
TriangleSelector: first partially working implementation
2020-07-24 17:47:16 +02:00
Lukas Matena
953d1417a0
TriangleSelector: draft of interface
2020-07-24 17:47:16 +02:00
Lukas Matena
d910f7934b
Empty layer check fix
...
The test gave false positive in case there were supposed to be both object and support extrusions on the first layer
2020-07-21 08:43:23 +02:00
Lukas Matena
f326352ceb
Empty layers check converted to a warning (except for the first layer)
2020-07-16 15:42:33 +02:00
Lukas Matena
e8736c47ae
Bugfix: incorrect scaling of clipping plane cuts in SLA support gizmo
2020-06-16 16:11:42 +02:00
Lukas Matena
1e5d1cb616
Fixed a crash when switching from SLA to FDM with a gizmo active
...
If a gizmo used SupportsClipper or HollowedMesh common data, it would attempt to update from a dead SLAPrintObject
2020-06-03 16:39:12 +02:00
Lukas Matena
d95c151823
Merge branch 'lm_empty_layer_crash'
2020-06-03 15:57:52 +02:00
Lukas Matena
ed98a859af
Fix of #3919 (extremely wide wipe tower with 0.35mm FAST profile)
...
This is an excerpt from ec86d94 , which was recently reverted because
the other changes from that commit broke some functionality.
2020-06-03 15:34:33 +02:00
Lukas Matena
8ecb0bfe0e
Revert "Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which"
...
This reverts commit ec86d94f02 .
2020-06-03 15:34:33 +02:00
Lukas Matena
2cc1dffc82
Fix of several issues related to gizmos updating and undo/redo
...
Common gizmos data cannot be used in on_set_state method
Also prevented calling render on empty GLVertexArrays
2020-06-03 15:33:39 +02:00
Lukas Matena
dc725ecbad
Fixup of previous commit
2020-06-02 14:49:40 +02:00
Lukas Matena
a4d30fc9bb
Fixed a crash when switching between tabs
...
Introduced in ba963ac
2020-06-02 11:42:25 +02:00
Lukas Matena
21de9d23ec
Bugfix: Cut gizmo ignored SLA elevation and the cut ended up shifted
...
It is still possible to set the plane into the space under an object,
but at least it always cuts where indicated.
2020-05-28 16:15:49 +02:00
Lukas Matena
b376e2c703
FDM supports gizmo: clicking the clipping plane starts painting
2020-05-28 13:10:40 +02:00
Lukas Matena
2c244732db
Introduced a limit on max print z (1.2 m)
...
A follow-up of 815989d , related to #2877
2020-05-28 12:03:48 +02:00
Lukas Matena
6d432f5426
Fixes second part of #4282 (wxWidgets 3.0 compatibility)
2020-05-27 17:30:56 +02:00
Lukas Matena
d9b764bd10
Removed obsolete LambdaObjectDialog.cpp/hpp, more include cleanups:
...
BedShapeDialog.hpp (needs not include) OptionsGroup.hpp
Tab.hpp GUI_App.hpp
2020-05-27 14:01:48 +02:00
Lukas Matena
48c186331a
Includes cleanup:
...
GUI_App.hpp (should not include) MainFrame.hpp
MainFrame.hpp Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp PrintConfig.hpp
FillBase.hpp PrintConfig.hpp
GUI_App.hpp PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
Lukas Matena
f2f1cfef9a
Fix of #4282 (wxOVERRIDE macro not available in wxWidgets 3.0)
...
Now that we use C++17, there is no point in using it in PrusaSlicer codebase
2020-05-27 10:58:38 +02:00
Lukas Matena
3ced59d2a3
Reenabled SLIC3R_HOLE_RAYCASTER before unit tests are updated properly
...
There are still tests of removing holes on slices and raycasting on unaltered mesh (which was eventually superseded by CGAL boolean operations)
2020-05-27 10:05:54 +02:00
Lukas Matena
e6317cdefb
Merge branch 'lm_aabb_improvements'
2020-05-27 02:15:54 +02:00
Lukas Matena
55395e046f
EigenMesh3D does not store a copy of the mesh
...
Instead, it stores a pointer to extern TriangleMesh (which must not be destroyed before the EigenMesh3D object)
2020-05-27 00:51:11 +02:00
Lukas Matena
1f833921a2
More code cleaning,...
...
optimizations regarding normals calculation
removed unused EigenMesh3D(const Contour3D &other) constructor
removed unused class si_result
2020-05-27 00:51:11 +02:00
Lukas Matena
d85fa8e9ab
EigenMesh3D now stores TriangleMesh inside, not a mesh in Eigen format
...
Rotfinder was apparently building the AABB tree needlessly
2020-05-27 00:51:11 +02:00
Lukas Matena
9224a6a3e6
Removed some unused code
...
- removed define USE_AABB_INDIRECT (which switched between old and new AABB implementation)
- removed define SLIC3R_SLA_NEEDS_WINDTREE (relied on igl and was not used anyway)
- new define SLIC3R_HOLE_RAYCASTER (hides currently unused code)
- slight include cleanup
- removed obsolete source file SupportTreeIGL.cpp
2020-05-27 00:51:11 +02:00
Lukas Matena
cdf80c3b3f
Switched to new AABB tree implementation for raycasting
2020-05-27 00:13:38 +02:00
Lukas Matena
6e716faa1c
Merge branch 'lm_includes_warnings'
...
No functional changes (hopefully).
2020-05-26 16:14:09 +02:00
Lukas Matena
32a353058f
Fixed few warnings
2020-05-26 16:06:11 +02:00
Lukas Matena
3e855d36dc
Fixed unit tests after previous include manipulations
2020-05-26 15:33:44 +02:00
Lukas Matena
94b0ab603f
Include cleanup: Selection.hpp
...
It does not need 3DScene.hpp and Model.hpp
And it does not to be included by GLGizmoBase.hpp
2020-05-26 13:46:59 +02:00
Lukas Matena
c2cd430941
Few more include chains broken
2020-05-26 13:46:59 +02:00
Lukas Matena
02838eaa30
Slight include cleanup
2020-05-26 13:45:36 +02:00
Lukas Matena
cc5fe02cde
Include cleanup: GUI_ObjectManipulation.hpp, GUI, GUI_Preview
2020-05-26 13:45:36 +02:00
Lukas Matena
fb9d8b2025
Include cleanup: do not include Model.hpp from 3DScene.hpp
2020-05-26 13:45:36 +02:00
Lukas Matena
02e345159d
Grey out wipe tower related config values when wipe tower is disabled
2020-05-22 09:23:26 +02:00
Lukas Matena
ae7bb123a9
Fix win build
2020-05-21 11:27:47 +02:00
Lukas Matena
35c8c84631
Fix of #3965 (properly disable linear advance with RepRap firmware)
2020-05-21 10:47:50 +02:00
Lukas Matena
a3646f843c
Merge branch 'lm_gizmos_improvements'
2020-05-21 10:25:44 +02:00
Lukas Matena
ff0630cad2
FDM supports gizmo: fixed rendering on mirrored objects
2020-05-21 10:25:31 +02:00
Lukas Matena
feb591782f
FDM supports gizmo: fixed a crash when trying to paint on the clipping plane
2020-05-21 10:25:31 +02:00
Lukas Matena
9c365da828
Removed immediate OpenGL mode calls in place on face gizmo
2020-05-21 10:25:31 +02:00
Lukas Matena
6e597bb1ee
Removed immediate OpenGL mode calls for clipping plane rendering
2020-05-21 10:25:31 +02:00
Lukas Matena
ac8491b599
SLA supports gizmo bugfix: show supports when not in editing mode
...
The bug was introduced after 2.2.0 release
2020-05-21 10:25:31 +02:00
Lukas Matena
581892cb0d
FDM supports gizmo uses neighbor data from stl_file
2020-05-21 10:25:31 +02:00
Lukas Matena
d0e0387b82
Merge branch 'lm_fdm_gizmo_experiments'
2020-05-18 16:08:29 +02:00
Lukas Matena
1a38d39f82
FDM supports gizmo: slight code refactoring
2020-05-18 16:08:21 +02:00
Lukas Matena
ed55ebba55
FDM supports gizmo: Further attempts to increase performance when painting
2020-05-18 16:08:21 +02:00
Lukas Matena
e312f3be43
FDM supports gizmo: caching triangle normals in order to increase performance
2020-05-18 16:08:21 +02:00
Lukas Matena
e2ccc6ec0c
FDM supports gizmo: trying to increase performance during painting
2020-05-18 16:08:21 +02:00
Lukas Matena
ee639a4710
FDM supports gizmo: do not disable slope visualizer when it should stay on
2020-05-14 14:17:20 +02:00
Lukas Matena
d928d6e47e
Hollowing gizmo fix: selection of single holes was recently broken
2020-05-12 14:03:10 +02:00
Lukas Matena
3a6bc2e31a
Merge branch 'lm_fdm_custom_supports_polishing'
2020-05-11 17:03:43 +02:00
Lukas Matena
b046eb4fc9
Merge branch 'master' into lm_fdm_custom_supports_polishing
2020-05-11 17:03:03 +02:00
Lukas Matena
cab3bf2f20
FDM supports gizmo: the cursor does not stick to the cut when clipping plane is used
2020-05-11 16:59:51 +02:00
Lukas Matena
6391200390
FDM supports gizmo fix: make sure that slope visualizer is off when turning off the gizmo
2020-05-11 16:59:43 +02:00
Lukas Matena
4ed1b49955
Slope visualiser angle inverted
...
It showed facet normal angle in the GUI, now it shows slope angle (90 deg complement). This change was made to unify it with threshold angle in Print Settings.
2020-05-11 16:57:40 +02:00
Lukas Matena
d90cea7aad
FDM supports - setting by angle highlight the facets in real time (experiment)
2020-05-06 08:16:44 +02:00
Lukas Matena
d24a3453af
Added simple autosetting of custom supports based on facet normal angle
2020-05-06 07:03:32 +02:00
Lukas Matena
e0b04e7d36
Merge branch 'master' into lm_fdm_custom_supports_polishing
2020-05-05 13:46:01 +02:00
Lukas Matena
272de22055
Undo/redo in FDM supports gizmo
2020-05-05 13:45:04 +02:00
Lukas Matena
0c84a0b696
Fixed SLA supports gizmo undo/redo stack
...
broken by 4f43c6d even before 2.2.0 release
2020-05-05 11:17:32 +02:00
Lukas Matena
377c7d3086
FDM supports gizmo is aware of the clipping plane
2020-04-30 16:57:09 +02:00
Lukas Matena
04cfd5f832
Fix updating of gizmos when instances are added
...
Gizmos were in fact updated after an instance was added, but before it was selected
2020-04-30 15:21:11 +02:00
Lukas Matena
bc34928ea8
Follow-up of previous commit (Slic3r::GUI::format issues)
...
Another missing namespace qualification caused infinite recursion
2020-04-30 11:32:17 +02:00
Lukas Matena
5679438e64
Added missing namespace qualification for Slic3r::GUI::format in Http.cpp
2020-04-30 08:37:48 +02:00
Lukas Matena
5b15e778ef
Selection rectangle is supressed when FDM custom supports gizmo is active
2020-04-29 13:36:11 +02:00
Lukas Matena
2bd524849a
Custom support blockers are now working
2020-04-27 17:45:55 +02:00
Lukas Matena
bf2a10803e
Fixing debug build broken after recent merge
2020-04-27 12:15:45 +02:00
Lukas Matena
8afc9338de
Merge branch 'lm_fdm_custom_supports_backend'
2020-04-24 15:16:33 +02:00
Lukas Matena
5a80f0442f
Optimization of the custom support projection algorithm
...
- transformation matrix is precalculated for each volume
- number of heap allocations was reduced
2020-04-24 01:26:13 +02:00
Lukas Matena
61e5eab35d
Custom supports projection now runs in parallel
2020-04-22 16:08:36 +02:00
Lukas Matena
a40d60ce08
Custom support generation now ignores triangles with upward-pointing normal
2020-04-22 14:01:29 +02:00