Commit Graph

2823 Commits

Author SHA1 Message Date
Sergey Sharybin
79312c1912 Depsgraph: Remove duplicated sets of recalc/update flags
There were at least three copies of those:

- OB_RECALC* family of flags, which are rudiment of an old
  dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
  as a separate set since the graph itself did not handle
  particle systems.
- DEG_TAG_* which was used to tag IDs.

Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.

Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.

Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.

Fixes T58632: Particle don't update rotation settings
2018-12-07 11:37:38 +01:00
Campbell Barton
b48156d012 Cleanup: style 2018-12-07 20:48:56 +11:00
Campbell Barton
10540822dc Fix T58811: Scale bezier handle uses tip as origin 2018-12-07 18:22:14 +11:00
Campbell Barton
136e88f4ea Merge branch 'master' into blender2.8 2018-12-07 17:11:28 +11:00
Campbell Barton
52824f008e Cleanup: redundant counter 2018-12-07 17:06:21 +11:00
Campbell Barton
8afc4cf3ea Fix crazyspace transform w/ armatures 2018-12-06 13:05:35 +11:00
Campbell Barton
1b6a394d86 Cleanup: unused args 2018-12-04 10:39:03 +11:00
Antonioya
fadad895b2 T58338 Edit Mode rotation doesn't work if object is far away from world origin
The fix code was done by Brecht Van Lommel, I only tested that the solution works.
2018-12-03 16:26:52 +01:00
Campbell Barton
2df86ca967 Fix T56642: 3D view gizmo orientation wont update 2018-12-03 16:52:21 +11:00
Campbell Barton
40f45a7eac Cleanup: redundant NULL checks
Also use unsigned shifting for values not in int range.
2018-12-01 19:36:57 +11:00
Campbell Barton
597d425638 Cleanup: duplicate include 2018-12-01 08:29:26 +11:00
Antonioya
4e92cc2759 Fix T58244: Proportional editing center is wrong
The global center was not calculated at all. Now a center is calculated using the selected points
2018-11-30 19:04:39 +01:00
Campbell Barton
9888374f4b Transform: re-revert new user-axis-first behavior
This restores old behavior but leaves in new code
which is more flexible.

See: 6491d50d02 for feedback on why this isn't ideal.
2018-11-29 21:52:38 +11:00
Campbell Barton
4f997c0ebb Revert "Transform: use scene-orientation for MMB axis constraint"
This reverts commit 78a6c2e12c.
2018-11-29 21:52:38 +11:00
Campbell Barton
6e24dd9a1e Fix T58125: UV Editor transform fails 2018-11-29 14:45:48 +11:00
Campbell Barton
535984a848 Cleanup: simplify transform orientation cycling
Remove dummy first index, store a pointer to the user orientation
instead of having it store twice (which could get out of sync).
2018-11-29 12:49:02 +11:00
Campbell Barton
8850875866 Fix transform axis orientation cycling
This ignored operator defined orientation.
2018-11-29 09:41:44 +11:00
Brecht Van Lommel
2bd62b076f Outliner/visibility: revert changes for now until we find better solutions.
See T57857 for discussion. This reverts:

"Outliner: Do not gray out empty collections"
4521d3e707.

"Remove eye column from the outliner"
fd16b35997.

Fix/workaround issues in pose and edit mode"
6d2e2e30d5.

"Per view-layer collection visibility"
4de6a210c6.
2018-11-28 14:34:13 +01:00
Campbell Barton
78a6c2e12c Transform: use scene-orientation for MMB axis constraint
Follows the change made for axis keys.
2018-11-28 19:48:19 +11:00
Dalai Felinto
4de6a210c6 Per view-layer collection visibility
We still control this in the viewport collections visibility menu. But
now we are actually changing the visibility of the collections, not of
the objects.

If a collection is indirectly invisible (because one of its parents are
invisible) we gray it out.

Also if you click directly in the collection names, it "isolates" the
collection by hiding all collections, and showing the direct parents and
all the children of the selected collection.

Development Note:

Right now I'm excluding the hidden collections from the depsgraph.
Thus the need for tagging relations to update.

If this proves to be too slow, we can change.
2018-11-28 02:33:04 -02:00
Campbell Barton
6491d50d02 Transform: default to user-defined orientation
Previously we tried this but reverted (see 64d40c82c3)
because there wasn't a predictable set of keys to use global-space.

Now the keys are swapped:

- 'GX' always transforms in the user defined orientation.
- 'GXX' always transforms in global space.

As before 'GXXX' cycles back to disabling constraints.

This does have a down side that GXX won't be used for local-space
when the user has global space set.
Also, when global is the user-orientation, pressing GX and GXX
does the same thing.

Note: examples here use GX but could be any transform-mode/axis.
2018-11-28 10:15:02 +11:00
mano-wii
c28fe9c304 transform_snap_object: Fix snap in edit mode.
Do not use the texture space of a mesh to pretest the snap.
(The texture space is only really updated when you exit edit mode).
2018-11-27 18:24:22 -02:00
Campbell Barton
621405ee0f Merge branch 'master' into blender2.8 2018-11-27 11:41:33 +11:00
Campbell Barton
9a5df92c1b Fix T56872: Edge slide gives invalid normals
Add the ability to skip overwriting normals.
2018-11-27 11:40:32 +11:00
mano-wii
9d7b767dd7 transform_snap_object: fix ray_start_correction in snap to edit_mesh. 2018-11-26 07:32:03 -02:00
mano-wii
36429a5bc9 Fix T56167: Crash when extruding + snap to face.
This is a local fix.
The problem with duplicate looptris still remains.
That is, it can still be released in one place but not upgraded in the other.

(note: setting the looptris to NULL in the evaluated mesh and assert whether it is still NULL when the mesh is freed could indicate where those cases are).
2018-11-26 07:32:02 -02:00
Campbell Barton
f968256b42 Fix T58027: Scene.ray_cast crash
Reintroduce BASE_VISIBLE_BGMODE

D3987 by @Soundwave
2018-11-26 15:52:10 +11:00
Campbell Barton
2b07c31fcf Fix proportional edit-mode w/ multi-object editing
D3992 by @Al
2018-11-26 14:20:51 +11:00
Campbell Barton
7493848008 3D View: remove 3D cursor
Use 3D cursor from the scene (was previously used for local-view).
2018-11-26 14:02:09 +11:00
Dalai Felinto
4c3ed98ca2 Local View
Bring back per-viewport localview. This is based on Blender 2.79.
We have a limit of 16 different local view viewports.

We are using both the numpad /, as well as the regular /.

Missing features:
* Hack to make sure lights are always visible.
* Make rendered mode with external engines to support this as well
  (probably just need to support this in the RNA iterators).
* Support over 16 viewports by taking existing viewports out of local view.

The code can use a cleanup pass in the future to unify the test to see
if an object is visible (or we can use TESTBASE in more places).
2018-11-25 09:50:34 -02:00
Dalai Felinto
9be5b2d23f Pass viewport to BASE_ related tests, for viewport view/select restrictions
Note: functions like select all are still not respecting that.
I will fix this as part of the local view commit though.
2018-11-23 15:13:14 -02:00
Sergey Sharybin
3bf7c846ee Fix T57996: Crash - delete node with a driven parameter 2018-11-23 17:03:14 +01:00
Campbell Barton
f5df1efa2f Cleanup: warnings 2018-11-22 05:26:18 +11:00
mano-wii
2ab798feb0 transform_snap_object: Use the texture space bound box to test the need to snap to meshes in edit mode.
Before a value for bound box was stored in a local cache.
2018-11-21 14:38:56 -02:00
mano-wii
96e39af948 transform_snap_object: Fix snap to curves.
Use `BKE_curve_texspace_get` instead `BKE_curve_boundbox_get`.
The snap to curve, even out of edit mode, is not done on the displist. So test a boundbox that covers the points seens in edit mode.
2018-11-21 13:07:51 -02:00
Campbell Barton
77a80d9f2f Gizmo: show dial handle for unconstrained extrude
Now only show an arrow when extrude was constrained on an axis.
2018-11-21 17:15:53 +11:00
Campbell Barton
1a551328b4 Gizmo: set operator options before execution
Avoid setting all operator options every redraw,
instead set them before invoking.
2018-11-21 16:00:00 +11:00
Campbell Barton
a86a1292f3 Gizmo: workaround for extrude modifying normals for XYZ axis
This was done for the normal gizmo, but not the XYZ handles.
2018-11-21 12:58:06 +11:00
Campbell Barton
774471dd45 Fix custom matrix orientation being written to scene 2018-11-21 12:58:06 +11:00
Campbell Barton
ac5889a9ee Correct editbone root-select check
Mistake in recent commit.
2018-11-21 12:58:06 +11:00
Campbell Barton
63150511a2 Gizmo: use Y-axis for armature extrude on normal
For bones it's useful to extrude a bone aligned to the existing bone.
2018-11-21 12:14:28 +11:00
Campbell Barton
04d09014e9 Gizmo: set the extrude transform constraint matrix 2018-11-21 11:45:16 +11:00
Campbell Barton
5b45434be4 Transform: use root/tip for bone normal orientation
When there are no fully selected bones,
use the normal of bones which only have the root/tip selected as a
fallback.

Without this, the extrude gizmo isn't very useful
since extrude is often used with only the tip selected.
2018-11-21 11:32:08 +11:00
Campbell Barton
6aa7cea3c2 Cleanup: rename extrude gizmo 2018-11-21 09:25:55 +11:00
Campbell Barton
d3a75c48fd Cleanup: move extrude gizmo to transform module
Since this is no longer mesh only, move out of mesh,
rename next.
2018-11-21 09:20:19 +11:00
Campbell Barton
5aa728ec7e Cleanup: style 2018-11-21 05:25:52 +11:00
Antonioya
1824aad3f3 GP: Set Gizmo orientation for edit mode 2018-11-20 16:04:19 +01:00
Campbell Barton
82eecc6c00 Multi-Objects: Calc origin w/ all edit-objects
D3924 by @Leon95 w/ code de-duplication.
2018-11-20 16:26:46 +11:00
Antonioya
64920a8feb GP: Harmonize Sculpt Struct and field names
Changed the following names:

- GP_EditBrush_Data->GP_Sculpt_Data
- eGP_EditBrush_Types->eGP_Sculpt_Types
- eGP_EditBrush_Flag->eGP_Sculpt_Flag
- eGP_BrushEdit_SettingsFlag->eGP_Sculpt_SettingsFlag
- GP_BrushEdit_Settings->GP_Sculpt_Settings
- GP_EDITBRUSH_FLAG*->GP_SCULPT_FLAG*
- GP_EDITBRUSH_TYPE*->GP_SCULPT_TYPE*
- GP_BRUSHEDIT_FLAG_*->GP_SCULPT_SETT_FLAG_*
2018-11-18 19:30:20 +01:00
Campbell Barton
55e719ec35 Merge branch 'master' into blender2.8 2018-11-14 17:21:34 +11:00