Commit Graph

205 Commits

Author SHA1 Message Date
Vojtech Bubnik
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
enricoturri1966
8ae30ff5b8 Use std::optional to replace dirty flags for bounding boxes in GLVolume 2021-09-16 10:46:56 +02:00
enricoturri1966
18e50bac61 Hotfix for missing wipe tower after adding an object for an MMU printer 2021-09-15 11:36:58 +02:00
enricoturri1966
4cfe8c8e1c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
Vojtech Bubnik
9142fcc109 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
Vojtech Bubnik
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
Lukas Matena
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
enricoturri1966
f17a5837b7 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
enricoturri1966
7536e51982 Do not allow objects to be placed fully below bed 2021-08-24 07:46:59 +02:00
enricoturri1966
359d071e1c Fixed compile warning 2021-08-18 13:04:45 +02:00
Lukas Matena
47b71bf1b7 Revert 740067c and e645f4a
740067c: "Fixed cut contours in gizmo cut after deleting an object"
e645f4a: "Fixed cut contours after cutting an object in gizmo cut"
2021-08-18 11:44:21 +02:00
enricoturri1966
367c288dd2 Fixed cut contours in gizmo cut after deleting an object 2021-08-18 10:23:18 +02:00
enricoturri1966
3b9779e3c2 #6796 - Fixed crash when selecting Thick Bridges option and then slicing 2021-08-18 09:54:21 +02:00
Lukas Matena
4d8a9ad10c Do not show sinking contours when a gizmo hides some objects 2021-08-11 16:17:28 +02:00
enricoturri1966
3ab84da644 Changed logic to detect sinking objects while using scale gizmo 2021-07-30 11:19:50 +02:00
Lukáš Hejl
c4123749ca Added missing includes (GCC 11.1) 2021-07-29 13:38:10 +02:00
enricoturri1966
6165e6ecfb Tech ENABLE_SINKING_CONTOURS -> Improved generation of sinking contours and color set to white 2021-07-28 14:27:57 +02:00
enricoturri1966
fe2903937c Tech ENABLE_SINKING_CONTOURS -> Sinking contours updated during render pass and shown also while dragging an object 2021-07-28 12:23:27 +02:00
enricoturri1966
151f489ed8 Tech ENABLE_SINKING_CONTOURS -> Sinking contours rendered using triangles 2021-07-28 11:21:59 +02:00
enricoturri1966
fcf8a4ca63 Tech ENABLE_SINKING_CONTOURS -> Sinking contours shown while dragging Move/Rotate/Scale gizmos and show contours for gizmo cut 2021-07-27 13:02:06 +02:00
Vojtech Bubnik
b1aeb799f0 New slice_mesh() variant slicing with a single plane only, running
on a single thread only (not parallelized).
The new slice_mesh() is used to calculate contour of objects sunken
below the print bed.
2021-07-26 17:02:56 +02:00
enricoturri1966
0cda79646f Fixed conflicts after merge with master 2021-07-22 11:46:00 +02:00
enricoturri1966
f4b466ee93 Techs DISABLE_ALLOW_NEGATIVE_Z_FOR_SLA and ENABLE_ALLOW_NEGATIVE_Z set as default 2021-07-22 11:26:31 +02:00
enricoturri1966
6ec647969f Tech ENABLE_SINKING_CONTOURS -> 1st installment 2021-07-21 15:30:57 +02:00
enricoturri1966
418d180346 Removed striped shading for sinking objects 2021-07-19 11:37:18 +02:00
enricoturri1966
35a0bfa909 Colors in GLVolume defined as std::array<float, 4> 2021-07-19 11:11:49 +02:00
enricoturri1966
aec6591cd4 Follow-up of ef8ddacdfc -> Fixed rendering of modifiers after cleaning current selection 2021-07-16 10:56:29 +02:00
enricoturri1966
bfdaeae376 Delayed rendering of transparent volumes 2021-07-14 13:20:57 +02:00
enricoturri1966
cf1731feea Tech ENABLE_ALLOW_NEGATIVE_Z -> Added threshold to detect if an object is sinking 2021-06-08 10:07:47 +02:00
YuSanka
611b91bc1f Fixed DnD for "Model part" volumes inside the object
Fixed volumes order inside the object
2021-06-02 12:54:56 +02:00
enricoturri1966
f794e9a5f8 Removed obsolete method from GLVolumeCollection 2021-05-13 14:56:35 +02:00
enricoturri1966
7b219a153c Tech ENABLE_ALLOW_NEGATIVE_Z-> Disable sinking objects for SLA printer 2021-05-06 14:04:07 +02:00
enricoturri1966
807da39f15 Tech ENABLE_ALLOW_NEGATIVE_Z -> Keep sinking instances as sinking after applying rotate gizmo 2021-04-23 08:29:29 +02:00
enricoturri1966
2d03e241cf Tech ENABLE_ALLOW_NEGATIVE_Z -> Shading of sinking instances 2021-04-22 13:18:36 +02:00
enricoturri1966
27336d2145 Removed mutable members from class GLVolume 2021-04-20 12:55:23 +02:00
David Kocik
945499fb29 Notifications management and rendering refactoring.
With warning notification Model out of bed reworked to not show after dismiss.
2021-03-12 10:32:26 +01:00
Lukas Matena
b8bd29cf42 Adjustable wipe tower brim 2021-03-05 16:41:02 +01:00
enricoturri1966
bce0816471 Tech ENABLE_OPENGL_ERROR_LOGGING set as default 2021-02-25 13:38:52 +01:00
Yuri D'Elia
a5c8dfab7f Remove unneeded inclusion of boost::nowide 2021-02-03 20:41:04 +01:00
tamasmeszaros
f9d5b20c85 Fix out of bed items after arrange.
Disabled outline decimation for arrange and added very small (EPSILON) safety offset to bed detection boundaries.
2020-12-03 12:00:12 +01:00
enricoturri1966
a72d8f7aef ENABLE_GCODE_VIEWER set as default in:
3DScene hpp/cpp

AboutDialog.cpp

BackgroundSlicingProcess hpp/cpp

BitmapCache.cpp

ConfigWizard_private.hpp

GUI_App hpp/cpp

GUI_Init.cpp
2020-11-18 10:44:03 +01:00
enricoturri1966
21aedc156e Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
enricoturri1966
28cfd71f51 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
enricoturri1966
9d3ca1ca4f ENABLE_SLOPE_RENDERING set as default
Slope rendering active only when using Gizmo FDM supports
2020-10-02 15:43:39 +02:00
Lukas Matena
ad303d608c FDM painting gizmos (support/seam) now render object in neutral color
The goal is to ensure enough contrast independent on current filament color
2020-09-25 16:05:34 +02:00
Vojtech Bubnik
f58ee46687 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
enricoturri1966
02f159fa99 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-10 14:22:46 +02:00
YuSanka
ceaeb26da8 Code refactoring: AppConfig.cpp(hpp) are removed from the GUI to libslic3r 2020-08-08 17:03:20 +02:00
enricoturri1966
a0b89dc5ce GCodeViewer -> Export of extrude toolpaths to obj files 2020-07-03 12:17:12 +02:00
enricoturri1966
bf91b34021 Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master 2020-06-05 16:50:17 +02:00