Commit Graph

6116 Commits

Author SHA1 Message Date
53a5c23d0f 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
d76c15dc70 Slicing progress notification cancel button hides notification if process is idle. 2021-09-20 11:22:00 +02:00
3a91bef6ba Use std::optional to replace dirty flags for bounding boxes in Selection 2021-09-17 13:24:37 +02:00
4e6388f8a0 Place on face improvement: respect different z-rotation of instances 2021-09-17 09:38:53 +02:00
dcd3d072b9 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
8ae30ff5b8 Use std::optional to replace dirty flags for bounding boxes in GLVolume 2021-09-16 10:46:56 +02:00
a243421a87 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
8b9facd399 Fixed build on Win and one more warning 2021-09-15 18:39:55 +02:00
e03bcc7c4e Fix several warnings 2021-09-15 16:36:59 +02:00
8de3f85f21 Vertical alignment of labels in imgui dialog for GLGizmoMmuSegmentation 2021-09-15 14:32:43 +02:00
e33c34327a Small refactoring into ClippingPlane to ensure that the normal is always a unit vector 2021-09-15 13:36:44 +02:00
18e50bac61 Hotfix for missing wipe tower after adding an object for an MMU printer 2021-09-15 11:36:58 +02:00
4d7c98756c Fixed build when tech ENABLE_SEAMS_USING_BATCHED_MODELS is disabled 2021-09-15 10:52:16 +02:00
351920501b Follow-up of 60b5e0d0d5 - Apply the change only on Windows 2021-09-15 08:30:09 +02:00
b803824db9 Added a forward declaration needed on GCC 9.4.0 2021-09-14 22:56:29 +02:00
fdcf96c0b1 fix file import/open bug 2021-09-14 22:12:35 +02:00
4cfe8c8e1c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
762e7f9474 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
9142fcc109 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
3ee4d3688c Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
01451d2e63 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
3034093082 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-14 10:05:18 +02:00
380a19f63e Some reduction of unnecessary conversions when calling ClipperUtils. 2021-09-13 15:13:10 +02:00
0e0f11be2f Fixed wrong layout of preview's combos popup windows the first time they are open 2021-09-13 13:34:49 +02:00
c9cba522c3 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
b237a12c8b #5471 - Make the View controls 'sticky' 2021-09-13 11:16:13 +02:00
f9db2d4e8f GCodeViewer slight opitmization: reuse (move) G-code line indices
in G-code viewer.
2021-09-13 10:41:28 +02:00
8affc02408 OSX specific: Improvements for wxMultiChoiceDialog: Height of a ChoiceListBox will respect to items count
This improvement fixed #6926 - Checkbox columns in modal windows are stretched (macOS)
2021-09-13 10:30:09 +02:00
d86f7f0a2b Fixed painting gizmos with modifiers below the bed:
- When a modifier was below the bed and all the object parts above, it would clip
  the modifier but not triangulate the cut.
- When an object part was below, it would triangulate all modifiers with
  opaque orange color.

Both should now be fixed.
2021-09-13 09:02:11 +02:00
28a67ea610 Added fast_float library as a replacement for std::from_chars and strtod. 2021-09-11 00:54:30 +02:00
9631c19d20 "CANCEL" button is deleted from "Support Generator" MessageDialog
to avoid confusions when "Supports mode" is switched from right panel
2021-09-10 15:31:18 +02:00
817c151550 Removes bottom status bar.
StatusBar class calls are commented out and replaced with notifications.
SlicicingProgress notification shows progress of slicing, ProgressIndicator notification handles other progress information, like arrange objects etc.
2021-09-10 14:35:13 +02:00
621869253d MSW specific: ObjectList: Fixed eternal Editor Control
Steps to reproduce of a bug:
1. Add object
2. Click the Cog icon with the left mouse button
3. DoubleClick on name of object > An Editor Control appears that cannot be deleted any way
2021-09-10 14:08:07 +02:00
4157706143 Object warning notification
Opens when loading object, closes at deletion.
Replaces SimplifySuggesion.
2021-09-10 10:47:07 +02:00
78cf2a2dcc ENABLE_RELOAD_FROM_DISK_REPLACE_FILE - Search missing files in the same folder of the current project 2021-09-10 10:22:44 +02:00
aac9b87687 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-10 09:07:55 +02:00
0b752e2aba Fixed color of objects in preview for SLA printers 2021-09-10 09:06:09 +02:00
f17a5837b7 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
c79f12764b MSW-specific: Application Mode Buttons: Added the orange-ish background over the bold font to indicate selection
(see comments for #6860)
2021-09-10 08:02:04 +02:00
311b75add4 ObjectDataViewModel: Fixed AddInfoChild() and Delete() functions
Delete () function did not account for InfoItems that were added before VolumeItems
As a result, There was possibility when deletion of penult VolumeItem wasn't invoke deletion of the last VolumeItem

AddInfoChild() was not respect to existed SettingsItem
SettingsItem have to be on a first place always.
2021-09-09 17:51:45 +02:00
4dd20ea9d2 ObjectList: Fixed a bug related to an update of selection in 3DScene.
Steps to repro:
1. Create some object with several parts.
2. Increase instances count.
3. Select some volume in ObjectList => all related volumes for each instance are selected in 3DScene (CORRECT)
4. Select last instance in ObjectList => all volumes (except one) of selected instance are selected in 3DScene (UNCORRECT).
                                         ALL volumes of selected instance have to be selected in 3DScene

Fix: To avoid lost of some volumes in selection
check non-selected volumes only if 3DScene-selection mode wasn't changed
or there is no single selection in ObjectList
2021-09-09 17:51:45 +02:00
1722765d67 Fixed conflicts after merge with master 2021-09-09 11:01:49 +02:00
660ffbad58 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
229dd208fa Fixed build on MAC 2021-09-08 15:47:27 +02:00
398a92f1cd Fix for #6921 - Error while disabling filament overrides in Dutch language 2021-09-08 15:31:10 +02:00
ca9d1ff6e1 Follow-up to b5a007a683
WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
2021-09-08 15:06:12 +02:00
6f075e7573 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-08 14:33:20 +02:00
f437cd535d Tech ENABLE_FIX_PREVIEW_OPTIONS_Z - Enable fixing the z position of seams (and other options) in preview 2021-09-08 14:30:40 +02:00
b0c0f1cb97 Techs ENABLE_SEAMS_USING_MODELS and ENABLE_SEAMS_USING_BATCHED_MODELS - Fixed seams (and other options) zs to match toolpaths zs in preview 2021-09-08 13:04:43 +02:00
88e6b261fa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_batched_models 2021-09-08 11:37:05 +02:00