51 Commits

Author SHA1 Message Date
Remco Burema
d3ec1d7d28
Cache wasn't valid due to a reference being stored, not a copy.
paer of CURA-7440
2020-10-09 13:39:53 +02:00
Ghostkeeper
765004cd68
Take node groups into account when computing the centre of the mesh group
These groups were not considered because they are not sliceable. Their children are sliceable, so I could just use a DepthFirstIterator. However their group computes the AABB correctly also, so taking the AABB of the group is more efficient.

Contributes to issue CURA-7118.
2020-09-08 17:54:09 +02:00
Ghostkeeper
d3e5f9ec93
Don't re-scale convex hulls for groups
The convex hulls for groups are already constructed from the convex hull of the convex hulls of all of their children. Since the children's convex hulls are already scaled, we don't want to scale it again for the group.

Contributes to issue CURA-7118.
2020-09-08 17:45:38 +02:00
Ghostkeeper
59bf1c10af
Account for the fact that global_stack may be empty
You should not have any models in your scene then though. But oh well. It also fixes the typing.

Contributes to issue CURA-7118.
2020-09-02 03:21:11 +02:00
Ghostkeeper
323be4deff
Fix updating the 2D convex hull
This comes at some performance cost, sadly. This is necessary because the convex hull of every node may change if the transformation of any other node changes, since that transformation may adjust the total bounding box of the mesh group.

Contributes to issue CURA-7118.
2020-09-02 03:09:41 +02:00
Ghostkeeper
f613a54b79
Compute centre of current mesh group
This is either the centre of the bounding box around all printable nodes in the scene, or the centre of the bounding box of the most-ancestral node that is not yet the scene root itself in one-at-a-time mode.

Contributes to issue CURA-7118.
2020-09-02 02:43:43 +02:00
Ghostkeeper
bc0ac0f2a0
Only scale convex hull if there is a non-1 scaling factor
This will save some processing power for the very common case where there is no scaling factor.

Contributes to issue CURA-7118.
2020-09-02 02:10:19 +02:00
Ghostkeeper
a6707217c7
Get scale factor from global stack
This is the one that's actually used by CuraEngine. If I get it per-object, the material profile overrides it.

Contributes to issue CURA-7118.
2020-09-02 02:08:18 +02:00
Ghostkeeper
af03bc8f24
Adjust collision area based on shrinkage compensation ratio
So now if the model is grown due to shrinkage compensation, its collision area will also grow. This prevents objects adjacent to each other from hitting each other.

Contributes to issue CURA-7118.
2020-09-02 00:51:58 +02:00
Jaime van Kessel
b0ed47daf1
Don't copy transformations if it's not needed
CURA=7106
2020-06-23 16:24:34 +02:00
Jaime van Kessel
d897299b31
Simplify recomputeConvexHull code
CURA-7106
2020-06-23 12:55:13 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
58ffc9dcae Merge remote-tracking branch 'origin/master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	cura/API/__init__.py
#	cura/Settings/CuraContainerRegistry.py
#	cura/Settings/ExtruderManager.py
#	plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
#	plugins/UM3NetworkPrinting/src/Cloud/CloudApiClient.py
#	plugins/UM3NetworkPrinting/src/Cloud/ToolPathUploader.py
#	plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py
2020-05-28 17:31:24 +02:00
Nino van Hooff
c2c96faf5f Convert remaining doxygen to rst 2020-05-28 17:13:44 +02:00
Ghostkeeper
edf7fdad75
Check first if we have valid vertex data
The convex hull calculation may fail. If it does, we want to just tomit the convex hull shadow, rather than crash.

Fixes Sentry issue CURA-ST.
2020-05-25 17:20:39 +02:00
Jaime van Kessel
27c6cb4c1e
Prevent max recursion for convex hull calculation
fixes CURA-3W
2020-02-28 16:31:28 +01:00
Jaime van Kessel
1b80ec8fff
Fix incorrect casing
Minor issue and I didn't want to send it back to todo *again* because of it.

CURA-6522
2019-12-10 13:14:54 +01:00
Nino van Hooff
f4c68f4e71 Fix two mypy warnings
CURA-6522
2019-12-06 11:47:07 +01:00
Nino van Hooff
2d8a415a69 Use the printing area (hull + adhesion for one-at-a-time) instead of
convex hull for build volume collision detection. The convex hull is
not suitable for this purpose because for one-at-a-time it includes the
machine head polygon, which should be allowed to travel outside the
build volume

CURA-6522
2019-12-06 11:08:55 +01:00
Nino van Hooff
fc060f7724 Do not show any object shadows in all_at_once mode.
Also DRYed up the one_at_a_time check

CURA-6522
2019-12-04 15:33:31 +01:00
Nino van Hooff
558ed4b1e8 Change shadows on buildplate for one-at-a-time printing
Inner: adhesion area
Outer: full head

In my opinion this allows the user to more easily see whether this
object can be printed after another object.
2019-11-12 12:56:07 +01:00
Nino van Hooff
b6fc8523f3 refactor ConvexHullDecorator.getConvexHull
CURA-6522
2019-10-31 16:40:32 +01:00
Nino van Hooff
6971e1f9cf Add clarifying documentation to getConvexHull
CURA-6522
2019-10-31 15:01:24 +01:00
Jaime van Kessel
5ec6b2fdf7
Fix typing
CURA-6785
2019-10-02 15:48:10 +02:00
Nino van Hooff
9512030060 Check for adhesion area collisions in one-at-a-time ordering
CURA-6785
2019-10-02 13:09:37 +02:00
Nino van Hooff
c4c62cbba2 Take nozzle offset into account in _getHeadAndFans()
CURA-6785
2019-09-27 15:26:46 +02:00
Jaime van Kessel
f7d0bcd0d4 Prevent modifier meshes from blocking one at a time slicing
CURA-6030
2019-05-20 14:40:41 +02:00
Jaime van Kessel
8fb3a73c3a Use boundingBoxChanged signal to recompute convex hull
The boundingbox is the signal we should be listening for, since it does the same as the
previous ones (and more!). This also fixes the issue that group nodes didn't get their
convex hull set correctly on first creation

CURA-6416
2019-04-08 09:40:38 +02:00
Jaime van Kessel
aac82a0852 Merge branch '4.0' of github.com:Ultimaker/Cura 2019-01-23 11:18:27 +01:00
Remco Burema
aae06fe0fa Prevent calculations with brim width larger than build-plate. [CURA-6094] 2019-01-21 17:47:13 +01:00
Ghostkeeper
1b7b302f42
Fix some typos 2019-01-15 17:31:51 +01:00
Diego Prado Gesto
77703e1fb8 Catch an exception from numpy that happens when loading some models 2018-12-11 09:58:23 +01:00
Jaime van Kessel
93bd5fee53 Fix wrong push free shadow for one at a time.
It was applying the size twice. CURA-5822
2018-11-16 13:44:46 +01:00
Lipu Fei
3f1e0cc610 Fix delayed convex hull recomputation
CURA-5896

If the current tool operation is still active, we need to delay the
convex hull recomputation after the tool becomes inactive.
2018-11-05 14:25:18 +01:00
Jaime van Kessel
dabe747ec0 Merge branch 'CURA-5744-move-oauth-login' of github.com:Ultimaker/Cura 2018-10-03 13:25:09 +02:00
Lipu Fei
7ae6800a14 Fix imports in QualityManager 2018-09-28 14:01:28 +02:00
Remco Burema
a68a591c18 Correct typo leading to infinite recursion. 2018-09-28 13:07:18 +02:00
Jaime van Kessel
3b70e5eb6b Fix typing
For some reason, my MyPy started acting up once I started using the PythonPath while calling it.
2018-09-27 20:01:55 +02:00
Jaime van Kessel
d7901907af Fix typing 2018-09-27 15:37:08 +02:00
Jaime van Kessel
b58c01400b Updated typing & documentation 2018-09-27 15:28:53 +02:00
Jaime van Kessel
d83241f13a Add missing typing to number of decorators 2018-09-27 14:29:09 +02:00
Jaime van Kessel
a8fc6aabcc Switch incorrect usage of getMachineExtruders to getActiveExtruderStacks 2018-09-07 16:27:56 +02:00
Lipu Fei
bd47dfef75 Revert "Revert "Merge pull request #4203 from Ultimaker/CURA-5538-fix-one-at-a-time-order-2""
This reverts commit 89ed2bcff80a7a414f77c455baa0023c631eae7c.
2018-08-13 11:23:10 +02:00
Ian Paschal
89ed2bcff8 Revert "Merge pull request #4203 from Ultimaker/CURA-5538-fix-one-at-a-time-order-2"
This reverts commit 82e1a7c5fc43a12d1498779d392286c6e49ee4ea, reversing
changes made to 1915659393b72f7e4d4dbd9b73e92b8a665efcdc.
2018-08-10 11:45:25 +02:00
Lipu Fei
95481b8560 Fix print order for one-at-a-time mode 2018-08-06 17:23:01 +02:00
Jack Ha
e3dd7a449d CURA-5090 speedups by using qtimers on updating mostly visual elements 2018-03-14 16:09:59 +01:00
Ghostkeeper
502332ee3e
Revert "Account for getConvexHullTransformedVertices returning None"
This reverts commit 564a97d5a80545f5eebdc63de7c48a1a435ad2ea.
2018-01-05 09:17:02 +01:00
Ghostkeeper
63f7902fca
Revert "Simplify code flow a bit"
This reverts commit 2c45efb70de003b431707aadfc2a3cb37e4dc39c.
2018-01-05 09:16:03 +01:00
Ghostkeeper
2c45efb70d
Simplify code flow a bit
Use if branches for the unhappy flow, so that it's clear that this behaves as an early-out. This also prevents the need for declaring variables out of scope, which is not an issue with Python anyway.
2018-01-04 17:23:43 +01:00
Ghostkeeper
564a97d5a8
Account for getConvexHullTransformedVertices returning None
It returns None if there are no vertices.
2018-01-04 17:20:57 +01:00