Vojtech Bubnik
0bc2448e22
Documented the new print bed collision detection algorithm requirements:
...
Only convex print bed is supported.
Optimization of collision detection by precomputing the print bed shape type.
2021-10-23 15:29:18 +02:00
Vojtech Bubnik
7e780380ee
Fix of d43ae66ecaaac762b5ee452e6d500bbb81ccc496
...
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
d43ae66eca
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
2c0815f537
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
1f4f8ff3ad
Fixed visualization of the "sinking contours" for complex objects.
2021-10-19 09:19:53 +02:00
enricoturri1966
7be17d89e6
Fixed conflicts after merge with master
2021-10-14 10:48:46 +02:00
enricoturri1966
b9ac80ccd4
#7076 - Modifiers and similar objects always rendered as transparent
2021-10-08 10:48:46 +02:00
enricoturri1966
4ff13a5d63
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
4521945bb3
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
f84838028b
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
6ff4d6c3f5
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
13ef817a99
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
430c7a69b3
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
7cfe082621
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
448911df9f
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Removed unused code
2021-09-30 10:55:41 +02:00
enricoturri1966
4eb21d4787
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
e24bd2d2d4
Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION - Removed duplicated code
2021-09-30 10:23:38 +02:00
enricoturri1966
d854fd0b29
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed GLVolumeCollection::check_outside_state() for SLA printers
2021-09-21 15:48:17 +02:00
enricoturri1966
1dad3c20f7
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision
2021-09-21 13:52:10 +02:00
enricoturri1966
cf380fb456
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds
2021-09-21 13:51: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
enricoturri1966
1af0c5c73b
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Call GLVolumeCollection::check_outside_state() only when needed
2021-09-20 13:40:34 +02:00
enricoturri1966
5a84b46ec9
Fix of detection of the out of bed state for sinking objects
2021-09-16 13:38:02 +02:00
enricoturri1966
94f92dee84
Use std::optional to replace dirty flags for bounding boxes in GLVolume
2021-09-16 10:46:56 +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
enricoturri1966
f132ca9c3c
Tech ENABLE_SINKING_CONTOURS set as default
2021-09-14 15:45:21 +02:00
Vojtech Bubnik
9d29eddf16
WIP: admesh eradication
...
follow-up to 58d8ab3deaaac1049439728d5a0f46c4b6a592f5
2021-09-14 14:51:40 +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
Lukas Matena
4ac013ec9c
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
8bd0f8ada9
Removed duplicated method GLVolumeCollection::check_outside_state()
2021-09-10 08:27:03 +02:00
enricoturri1966
b3010a817b
Do not allow objects to be placed fully below bed
2021-08-24 07:46:59 +02:00
enricoturri1966
120be3a76d
Fixed compile warning
2021-08-18 13:04:45 +02:00
Lukas Matena
3cf6d1c888
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
740067c576
Fixed cut contours in gizmo cut after deleting an object
2021-08-18 10:23:18 +02:00
enricoturri1966
9767747b3b
#6796 - Fixed crash when selecting Thick Bridges option and then slicing
2021-08-18 09:54:21 +02:00
Lukas Matena
b14faf627b
Do not show sinking contours when a gizmo hides some objects
2021-08-11 16:17:28 +02:00
enricoturri1966
a3a99567ad
Changed logic to detect sinking objects while using scale gizmo
2021-07-30 11:19:50 +02:00
Lukáš Hejl
9f0c6576f6
Added missing includes (GCC 11.1)
2021-07-29 13:38:10 +02:00
enricoturri1966
d821fcba2d
Tech ENABLE_SINKING_CONTOURS -> Improved generation of sinking contours and color set to white
2021-07-28 14:27:57 +02:00
enricoturri1966
0146013b4e
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
d99ea7c20f
Tech ENABLE_SINKING_CONTOURS -> Sinking contours rendered using triangles
2021-07-28 11:21:59 +02:00
enricoturri1966
b24488ce51
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
eb6392dccd
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
5c6810d0bc
Fixed conflicts after merge with master
2021-07-22 11:46:00 +02:00
enricoturri1966
65b3be92fe
Techs DISABLE_ALLOW_NEGATIVE_Z_FOR_SLA and ENABLE_ALLOW_NEGATIVE_Z set as default
2021-07-22 11:26:31 +02:00
enricoturri1966
22f04ca46e
Tech ENABLE_SINKING_CONTOURS -> 1st installment
2021-07-21 15:30:57 +02:00
enricoturri1966
75a2d7620b
Removed striped shading for sinking objects
2021-07-19 11:37:18 +02:00
enricoturri1966
2848ae9c4d
Colors in GLVolume defined as std::array<float, 4>
2021-07-19 11:11:49 +02:00
enricoturri1966
beb60b5138
Follow-up of ef8ddacdfc72617b7fffe1304db640111f32a93a -> Fixed rendering of modifiers after cleaning current selection
2021-07-16 10:56:29 +02:00
enricoturri1966
ef8ddacdfc
Delayed rendering of transparent volumes
2021-07-14 13:20:57 +02:00