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
Lukas Matena
1e12863ceb
FDM custom supports gizmo now has a 'Remove all' button
2020-04-22 11:57:12 +02:00
Lukas Matena
d74b5cb1da
Custom supports data change forces invalidation of supports step
2020-04-22 11:16:28 +02:00
Lukas Matena
8d95345ede
Fixed a logic error in the algorithm
...
The error created extremely large projections of triangles that were close to horizontal
2020-04-22 10:11:42 +02:00
Lukas Matena
7fc4a71715
Moved the projection function into PrintObject.cpp
2020-04-21 13:50:47 +02:00
Lukas Matena
79ef456d7c
Fixed the algorithm so it works for horizontal triangles
...
Partial code cleanup
2020-04-21 01:39:40 +02:00
Lukas Matena
20068842ec
Project each part of the triangle on one slice only (WIP)
2020-04-21 01:39:35 +02:00
Lukas Matena
7b104bcdd1
Save z heights of the triangle vertices
2020-04-20 14:01:11 +02:00
Lukas Matena
40e4be6ede
Fixed a crash in the FDM supports gizmo when the wipe tower was shown
...
The crash happened during showing/hiding of volumes, which historically assumed to always run in SLA mode and so did not expect to encounter the wipe tower.
2020-04-20 09:17:48 +02:00
Lukas Matena
2f8a5dd6f6
Merge branch 'master' into lm_fdm_custom_supports_backend
2020-04-17 14:19:16 +02:00
Lukas Matena
be9dcf0c77
Fixup of previous commit
2020-04-17 14:17:11 +02:00
Lukas Matena
c570fc40de
First partially working implementation of custom supports at the backend
...
The solution is temporary and should be improved and moved elsewhere - see comments in the code.
2020-04-17 13:15:26 +02:00
Lukas Matena
9921945cbf
Fixed a failing assertion in FDM supports gizmo
...
It was a result of attempting to render an empty GLIndexedVertexArray
2020-04-17 11:11:12 +02:00
Lukas Matena
546b0702f9
Custom supports data are saved into ModelObject and propagate to the backend
...
Invalidation of supports after they change is not implemented yet.
2020-04-16 16:57:46 +02:00
Lukas Matena
46ade45ced
The bed texture is not shown when looking from below and FDM/SLA support gizmo is active
2020-04-14 13:18:08 +02:00
Lukas Matena
51739b70a1
FDM supports gizmo cursor size now accounts for (uniform) scaling of the mesh
...
Added tooltips on the sliders
2020-04-09 18:36:57 +02:00
Lukas Matena
23da5910c6
FDM supports gizmo now uses VBOs instead of immediate mode
2020-04-09 15:56:43 +02:00
Lukas Matena
3e15d22f35
Fixed a crash when switching to Preview
2020-04-08 17:22:30 +02:00
Lukas Matena
d3bb966f4d
Merge branch 'lm_fdm_supports_gizmo'
2020-04-08 16:11:49 +02:00
Lukas Matena
23fbc2ff1a
Alt+mouse wheel adjusts cursor size in FDM supports gizmo
2020-04-08 15:21:41 +02:00
Lukas Matena
4d8e6538e8
FDM supports gizmo - use right mouse to place support blockers
2020-04-08 14:59:53 +02:00
Lukas Matena
55c87886fa
FDM supports gizmo now ignored modifiers and support enforcer/blockers
2020-04-08 12:58:48 +02:00
Lukas Matena
c32fa67523
Clipping plane can now handle multiple-part objects
2020-04-08 11:52:22 +02:00
Lukas Matena
ba08d5da9e
Fix of #3983 - Crash caused by a typo in Korean localization
2020-04-08 10:37:26 +02:00
Lukas Matena
fe57826695
Improved the FDM supports gizmo dialog
...
Removed unused code
Fixed a clipping-plane related crash
Fixed a crash in hollowing gizmo when no hollowed mesh was provided
Forbid opening the gizmo when a part of an object is selected
2020-04-08 09:37:49 +02:00
Lukas Matena
17811598ac
Fixed obvious merge conflicts
...
FDM supports gizmo uses the new common data infrastructure
2020-04-07 19:44:29 +02:00
Lukas Matena
a380053a17
Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo
2020-04-07 17:16:48 +02:00
Lukas Matena
f1fd445ce6
Merge branch 'lm_gizmos_data_pool'
...
The branch contains refactoring of common gizmos data handling
2020-04-07 17:03:03 +02:00
Lukas Matena
1d65ce760b
Removed obsolete code
...
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
Lukas Matena
535a27de65
Fixed crash related to ClippingPlane and incorrect handling of sla z shift in hollowing gizmo
2020-04-07 16:47:39 +02:00
Lukas Matena
c704849a7a
SLA supports gizmo is now enabled and uses the new infrastructure
2020-04-07 16:47:39 +02:00
Lukas Matena
c79e90b921
SupportsClipper implementation
2020-04-07 16:47:39 +02:00
Lukas Matena
e82ead0335
InstancesHider allows to show/hide supports on demand
2020-04-07 16:47:39 +02:00
Lukas Matena
5d4014a4a5
ObjectClipper implementation, hollowing gizmo reenabled
...
ObjectClipper tracks active mesh (incl. possible hollowing), remembers clipping plane position and can render the cut on demand
Hollowing gizmo uses the new infrastructure
2020-04-07 16:45:16 +02:00
Lukas Matena
d9e5721cb7
Raycaster can now handle multiple volumes
...
This is necessary for future FDM supports gizmo. SLA objects only have one volume, so it wasn't needed until now.
2020-04-07 16:42:59 +02:00
Lukas Matena
bf734c8f68
Raycaster wrapper
...
The raycaster manages a MeshRaycaster object that the gizmo can ask to perform raycasts
If the hollowed mesh tracker is enabled and the hollowed mesh is newly calculated/invalidated, the raycaster automatically updates.
2020-04-07 16:40:59 +02:00
Lukas Matena
81dba7677b
Hollowed mesh tracker implementation
...
The class tracks state of the backend calculation and if there is a hollowed/drilled mesh, it can provide a pointer to it
2020-04-07 16:40:10 +02:00
Lukas Matena
7e797eaaf8
Dependencies check in debug mode
...
Some common resources can depend on each other - this checks that the requirements are consistent
2020-04-07 16:39:18 +02:00
Lukas Matena
3db3a61520
InstancesHider implementation
...
Any gizmo can now ask for hiding all but the active instance by returning proper value from on_get_requirements
2020-04-07 16:39:06 +02:00
Lukas Matena
593e7a1546
Flattening gizmo now uses the new CommonDataPool to store pointer to active object
2020-04-07 16:35:52 +02:00
Lukas Matena
3b06332999
Common gizmos data are now handled by the CommonGizmosDataPool object
2020-04-07 16:35:52 +02:00
Lukas Matena
7c4071c541
Disabled the SLA gizmos
2020-04-07 16:35:52 +02:00
Lukas Matena
8475968025
First installation of common gizmo data pool
2020-04-07 16:35:52 +02:00
Lukas Matena
0054134ff8
Fix of #3916 (macOS crash when generating WarningTexture)
...
Likely the same cause as #3371 , hopefully the same solution as presented in 4f1f507
2020-03-25 23:55:25 +01:00