Commit Graph

12342 Commits

Author SHA1 Message Date
bubnikv
272479826f Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
Vojtech Kral
eb93d2a32d Merge branch 'master' into materials 2019-09-30 16:12:48 +02:00
Enrico Turri
d58dedd459 ENABLE_3DCONNEXION_DEVICES -> Increased limit of device buttons 2019-09-30 15:58:45 +02:00
Enrico Turri
b11704d380 Merge branch 'et_3dconnexion' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-09-30 15:38:13 +02:00
Vojtech Kral
520a51c62f hidapi: Fix include path 2019-09-30 15:20:23 +02:00
Enrico Turri
7c8732d560 Merge branch 'et_3dconnexion' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-09-30 15:19:36 +02:00
Enrico Turri
eabaa21df2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-09-30 15:19:21 +02:00
Vojtech Kral
82fed1790a 3D connexion support on Linux:
- Replace hidapi/linux/hid.c with the hidraw variant (link to udev)
- Add CMakeLists.txt for hidapi, refactor
- Add udev rules file (no installation so far)
2019-09-30 14:59:21 +02:00
YuSanka
c07a193b4e Implemented BitmapChoiseRenderer 2019-09-30 14:34:29 +02:00
YuSanka
f5593c05aa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-30 14:04:45 +02:00
YuSanka
904bbcc006 Fix of SPE-1035 (Wrong filament color updating for multi-material print) 2019-09-30 13:59:26 +02:00
bubnikv
b425ee50a9 Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
Enrico Turri
7f7b3e0b0b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-09-30 08:15:20 +02:00
Lukas Matena
5ded376fe2 An attempt to fix #2997
More fixes might be needed on the other platforms
2019-09-28 09:57:26 +02:00
bubnikv
0abde9a2a8 Return MultiPoint::first_point() by reference. 2019-09-27 19:47:30 +02:00
bubnikv
6d11bfe96a Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
bubnikv
debd9e2f81 One more try, fixing a missing parameter. 2019-09-27 19:07:07 +02:00
bubnikv
50d3894e32 Fix of the ShortestPath.hpp interface: Provide non-move variant. 2019-09-27 18:47:08 +02:00
bubnikv
85ea0396a4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +02:00
bubnikv
331c187b39 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
Enrico Turri
1aa559585c Added missing include 2019-09-27 15:26:13 +02:00
Enrico Turri
33bfc925c2 ENABLE_3DCONNEXION_DEVICES -> try a different hid.c for hidapi library on Linux 2019-09-27 15:02:38 +02:00
Enrico Turri
4b3eab0ed9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-09-27 14:52:30 +02:00
Enrico Turri
f958cfd2ff ENABLE_3DCONNEXION_DEVICES - 1st installment of support for 3Dconnexion devices
Implemented using hidapi library (https://github.com/libusb/hidapi) and https://github.com/koenieee/CrossplatformSpacemouseDriver/tree/master/SpaceMouseDriver as reference

Unsolved issues:

- When manipulating the SpaceNavigator wxWidgets generates a mouse wheel event that needs to be filtered out

- wxWidgets does not detect devices being connected/disconnected to the pc

- Current state forces a continuous rendering

- Current state misses dependence on camera zoom

- Non intuitive movement limits

- Translation and rotation speed factors are hardcoded

- Number of device buttons hardcoded
2019-09-27 14:52:19 +02:00
Lukas Matena
d57a09558e Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
YuSanka
c370fccd8b Changed default values.
And bottle_volume is preferred to recalculation instead of bottle_weight
2019-09-27 12:08:08 +02:00
Lukas Matena
5123673b3a CMakeLists: filename fix so everything works on case-sensitive filesystems 2019-09-27 11:42:52 +02:00
Lukas Matena
661c91a821 Fixing Linux build
GCC 4.8 does not fully support C++11 and in-class char array initialization
2019-09-27 11:31:16 +02:00
bubnikv
4b35ebe6e5 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
bubnikv
e65ab90c16 Fix of G-code path planning: Infill lines were incorrectly ordered
for islands with another islands in their holes.

Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
bubnikv
d06831076d WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
10eecb2cab Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
YuSanka
82bc243281 Implemented possibility to set a resin cost 2019-09-26 16:36:31 +02:00
bubnikv
8d4dd294b2 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-26 09:44:53 +02:00
bubnikv
41495a932a Introduction of a greedy Traveling Salesman Problem algorithm,
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.

PerimeterGenerator newly uses the optimized TSP algorithm.

ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00
YuSanka
1a03b664b9 Some changes for alignments in manipulation panel 2019-09-25 15:04:39 +02:00
Enrico Turri
6f8a9bc1ff Fixed visual hints in 3D scene not disappearing when tabbing out of size z field in object manipulators sidebar 2019-09-25 13:05:18 +02:00
YuSanka
f6996b7dda Try to fix Linux build 2019-09-25 12:45:39 +02:00
Lukas Matena
dbc51a140d Fixed erroneous use of logical OR where bitwise OR was meant
Also, PrintBase::SlicingStatus enum had two entries assigned to 0 - removed the one that was never used
2019-09-25 12:18:30 +02:00
YuSanka
efb9ef37f6 Merge remote-tracking branch 'origin/master' into ys_manipulation_panel_rw 2019-09-25 11:33:19 +02:00
Enrico Turri
fdbe339622 Fixed gizmo scale for objects added to scene using the new context menu 2019-09-25 11:25:14 +02:00
YuSanka
6faf67d90c Add binding for ManipulationEditors 2019-09-25 11:25:05 +02:00
Lukas Matena
1d18339e62 PRUS.cpp: Fixed an always-true condition in extract_model_from_archive
SupportMaterial.cpp: Simplified one condition (also solves a -Wmaybe-uninitialized warning on gcc)
2019-09-24 18:09:48 +02:00
Lukas Matena
b67d8c1614 Fixed memsetting non-trivially-copyable types
Types stl_stats, stl_normal and SurfaceFillParams should not be zeroed by memset
This is not correct and also triggered warnings on gcc
2019-09-24 17:09:07 +02:00
Lukas Matena
7861fa5086 Whitespace changes to supress misleading indentation warnings
These appear in newer gcc when spaces and tabs are mixed
2019-09-24 16:01:01 +02:00
YuSanka
b2e7081d31 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 14:33:20 +02:00
YuSanka
9607fbeb6d Fix of SPE-1027 2019-09-24 14:32:59 +02:00
Enrico Turri
2fd5044460 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-24 14:13:22 +02:00
Enrico Turri
7c1706f7ee Follow-up of f4910cafed -> Fix extended to Mac 2019-09-24 14:13:03 +02:00
Lukas Matena
c1e3be9b27 MeshUtils.cpp: MeshRaycaster is now aware of the clipping plane 2019-09-24 12:58:12 +02:00