Commit Graph

226 Commits

Author SHA1 Message Date
Vojtech Bubnik
e547fda376 Fix of d43ae66eca
reduced copy / paste redudancy by extracting a new function
    to produce convex hull: its_convex_hull()
2021-10-22 16:54:21 +02:00
Vojtech Bubnik
f1811a3c88 reduced copy / paste redudancy by extracting a new function
to produce convex hull: its_convex_hull()
2021-10-22 14:02:53 +02:00
enricoturri1966
b38cd284bd Fixed conflicts after merge with master and ported changes into gouraud shaders to gouraud_mod shaders 2021-10-19 11:27:11 +02:00
Vojtech Bubnik
f5177d67c1 Fixed visualization of the "sinking contours" for complex objects. 2021-10-19 09:19:53 +02:00
enricoturri1966
c20c17ed1e Fixed conflicts after merge with master 2021-10-14 10:48:46 +02:00
enricoturri1966
848fdaadf4 #7076 - Modifiers and similar objects always rendered as transparent 2021-10-08 10:48:46 +02:00
enricoturri1966
d03fd2f63e Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
enricoturri1966
fb840a7767 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Faster printbed collision detection using the new function Geometry::intersect() 2021-10-04 14:07:45 +02:00
enricoturri1966
8d18b6be3b Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION merged into tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS 2021-10-01 13:13:26 +02:00
enricoturri1966
a29d6055aa Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed detection of collision with circular printbed for pre-gcode preview and sla preview 2021-10-01 12:15:14 +02:00
enricoturri1966
af6ebbda61 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed in backend 2021-09-30 14:51:09 +02:00
enricoturri1966
f913dde653 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Completed detection of collision with circular printbed for toolpaths and sla auxyliary volumes 2021-09-30 13:16:05 +02:00
enricoturri1966
08734d0424 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed for toolpaths 2021-09-30 12:08:05 +02:00
enricoturri1966
65309511d7 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Removed unused code 2021-09-30 10:55:41 +02:00
enricoturri1966
74f5f35e47 Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION - Enable detection of collision with circular printbed also for SLA printers 2021-09-30 10:35:53 +02:00
enricoturri1966
3bb0944ecf Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION - Removed duplicated code 2021-09-30 10:23:38 +02:00
enricoturri1966
0f431f7100 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed GLVolumeCollection::check_outside_state() for SLA printers 2021-09-21 15:48:17 +02:00
enricoturri1966
8acb9029eb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-21 13:52:10 +02:00
enricoturri1966
d383c0ccf4 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
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
fd822d13c9 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Call GLVolumeCollection::check_outside_state() only when needed 2021-09-20 13:40:34 +02:00
enricoturri1966
16cc287d6e Fix of detection of the out of bed state for sinking objects 2021-09-16 13:38:02 +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