Commit Graph

16883 Commits

Author SHA1 Message Date
Vojtech Bubnik
a5a7f64db0 Mesh statistics for imported STLs: Added backwards_edges to open_edges,
so that a mesh with incorrectly oriented faces will not be considered
a manifold.

Added assert for 3D convex hulls constructed by QHull. They shall be
manifold (however sometimes they are not).
2021-09-21 16:04:04 +02:00
Justin Schuh
306b54bc0a
Fix float accuracy issue when thick_bridges is off (#6957) 2021-09-21 15:50:04 +02:00
Vojtech Bubnik
ac7674b85a Fixed visualization of G-code lines in G-code viewer (3D view).
Improved speed of parsing external G-code.
2021-09-21 15:30:37 +02:00
Vojtech Bubnik
116fd0526b Enabling PrusaLink in physcal printers dialog for MINI. 2021-09-21 12:49:25 +02:00
tamasmeszaros
63647f594e Add dedicated subclass NotificationProgressIndicator
to replace ProgressStatusBar and revert changes from b9dab754, keep UI jobs untouched
2021-09-21 12:34:40 +02:00
Vojtech Bubnik
7e3306c68f Fixed triangulation of meshes split by the cut tool. 2021-09-21 11:07:40 +02:00
Lukáš Hejl
40e4116d9a Added a missing include (GCC 11.1). 2021-09-21 10:45:57 +02:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Vojtech Bubnik
f484953a5a Fix of Print setting changes not applied to all copies if one copy rotated #6971 2021-09-20 14:41:19 +02:00
David Kocik
7dabcf0646 Slicing progress notification cancel button hides notification if process is idle. 2021-09-20 11:22:00 +02:00
enricoturri1966
9d7549e661 Use std::optional to replace dirty flags for bounding boxes in Selection 2021-09-17 13:24:37 +02:00
Lukas Matena
82b4a4fe11 Place on face improvement: respect different z-rotation of instances 2021-09-17 09:38:53 +02:00
enricoturri1966
0b1e716e22 Tech ENABLE_RETRACT_ACCELERATION set as default 2021-09-17 08:21:25 +02:00
Lukas Matena
129212a020 Fixed build on Linux (GCC 9.4.0) 2021-09-16 13:14:08 +02:00
Lukas Matena
e8418b509e Fixed switching of settings access radio buttons in Preferences,
the middle button only worked when _MSW_DARK_MODE.
Broken since fd07142.
2021-09-16 12:40:20 +02:00
enricoturri1966
94f92dee84 Use std::optional to replace dirty flags for bounding boxes in GLVolume 2021-09-16 10:46:56 +02:00
YuSanka
03a692cfd1 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
Lukas Matena
fe94a3c8c5 LocalesUtils: fixed BSD and improved performance of decimal point formatting functions 2021-09-15 19:52:32 +02:00
Lukas Matena
aef90bc735 Fixed build on Win and one more warning 2021-09-15 18:39:55 +02:00
Lukas Matena
71ba15b6f0 Fixed comparison of layer height profiles when printing with wipe tower:
while the layer height profile vector may not contain all print z
values, the only real case with two eqiuvalent layer height profiles is
when one was created as a copy of another, so the vectors should in fact be equal.
2021-09-15 16:37:41 +02:00
Lukas Matena
677cb58000 Fix several warnings 2021-09-15 16:36:59 +02:00
enricoturri1966
40877b12f7 Vertical alignment of labels in imgui dialog for GLGizmoMmuSegmentation 2021-09-15 14:32:43 +02:00
enricoturri1966
57749d6f09 Small refactoring into ClippingPlane to ensure that the normal is always a unit vector 2021-09-15 13:36:44 +02:00
enricoturri1966
554aa70edc Follow-up of 9abebe5fbe - Modified shader gouraud_light_instanced.vs to be more Intel's cards friendly 2021-09-15 12:32:43 +02:00
enricoturri1966
08487835a9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-15 11:37:07 +02:00
enricoturri1966
9d5a3a00ef Hotfix for missing wipe tower after adding an object for an MMU printer 2021-09-15 11:36:58 +02:00
rtyr
0df83d91fc
Sync with PrusaSlicer-settings 2021-09-15 10:52:25 +02:00
enricoturri1966
2e9b07202a Fixed build when tech ENABLE_SEAMS_USING_BATCHED_MODELS is disabled 2021-09-15 10:52:16 +02:00
enricoturri1966
b22b7c2bf4 Follow-up of 60b5e0d0d5 - Apply the change only on Windows 2021-09-15 08:30:09 +02:00
Lukas Matena
5dd905fc8c Added a forward declaration needed on GCC 9.4.0 2021-09-14 22:56:29 +02:00
Li Jiang
50b7a1df9f fix file import/open bug 2021-09-14 22:12:35 +02:00
enricoturri1966
f132ca9c3c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
enricoturri1966
bf21abfbfa Follow-up of d52ee52098 - Removed forgotten tech key 2021-09-14 15:17:24 +02:00
enricoturri1966
d52ee52098 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
9d29eddf16 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
enricoturri1966
30d2c3787f Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
Vojtech Bubnik
d749baf6bc Fix of 58d8ab3dea 2021-09-14 13:11:21 +02:00
Vojtech Bubnik
58d8ab3dea Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Lukáš Hejl
1c6ecd9c1a Replaced atof and atoi inside 3MF attribute parsing with fast_float::from_chars and boost::spirit that are faster. 2021-09-14 11:09:43 +02:00
enricoturri1966
680a0665de Merge remote-tracking branch 'origin/et_reload_from_disk_changes' 2021-09-14 10:05:54 +02:00
enricoturri1966
a74f3e3fc0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-14 10:05:18 +02:00
Vojtech Bubnik
ec976cbe05 Fixed unit tests after cab71073a1 2021-09-13 15:45:33 +02:00
Vojtech Bubnik
0a51afa3e6 Fix of Can't convert polyline with more than two points to a line (#6933)
Sometimes Clipper produces a polyline with more than 2 points when
clipping a line with a polygon or a set of polygons. We hope the intermediate
points are collinear with the line, so we may just ignore them.
2021-09-13 15:40:56 +02:00
Vojtech Bubnik
cab71073a1 Some reduction of unnecessary conversions when calling ClipperUtils. 2021-09-13 15:13:10 +02:00
enricoturri1966
60b5e0d0d5 Fixed wrong layout of preview's combos popup windows the first time they are open 2021-09-13 13:34:49 +02:00
Vojtech Bubnik
f9a5ee725d Follow-up to ae7d6db1d9
Exporting G-code on a worker thread did not work correctly as the worker
threads were using user's locale, not "C" locale.
The "C" locale is newly enforced to TBB worker threads by
name_tbb_thread_pool_threads_set_locale()
2021-09-13 13:04:12 +02:00
Vojtech Bubnik
e78d647cc2 Follow-up to e7591e6aa6
GCodeFormatter default copy constructor / copy operators were not safe
and they were used in debug mode.
2021-09-13 12:51:50 +02:00
Vojtech Bubnik
e7591e6aa6 GCodeWriter: published GCodeFormatter, made it more generic, so
it could be used outside of GCodeWriter.
Ported the GCodeWriter::retract/deretract to GCodeFormatter.
2021-09-13 11:55:44 +02:00
enricoturri1966
fda8ef6fce #5471 - Make the View controls 'sticky' 2021-09-13 11:16:13 +02:00
Vojtech Bubnik
880feb3a3d GCodeViewer slight opitmization: reuse (move) G-code line indices
in G-code viewer.
2021-09-13 10:41:28 +02:00