Commit Graph

3114 Commits

Author SHA1 Message Date
4d9606ef19 GP: Use only selected points to calc transform center 2018-12-20 21:25:29 +01:00
b49699b1ec GP: Enable center for Local Origins only
This produces very interesting effects when move using proportional editing.
2018-12-20 19:32:22 +01:00
cb95d20595 GP: Undo center calculation
This is breaking the transformation with falloff enabled.
2018-12-20 19:15:01 +01:00
Sebastian Parborg
a8103a0256 Fix T59083: normal transform orientation ignores absolute grid snap.
Absolute grid snap now takes into account the transform local axis.

Differential Revision: https://developer.blender.org/D4069
2018-12-20 12:49:59 +01:00
320e7f5322 Cleanup: naming 2018-12-20 17:34:30 +11:00
c0e6cbadfc Fix crash clicking on trackball widget
Missing check in newly added gizmo orientations.
2018-12-20 08:14:48 +11:00
1ce9a142b6 UI: expose gizmo orientation as a single enum
Avoids awkward logic from the popover,
by faking an extra item in the enum.
2018-12-20 07:46:06 +11:00
2af0ec9457 UI: move gizmo orientation settings into popover
Instead of link toggle with enum, use a single popover that contains
both settings. The code for this isn't nice - needing 3x panels for now.

See D4075
2018-12-19 22:45:36 +11:00
25fcb44d2d Merge branch 'master' into blender2.8 2018-12-19 12:38:31 +01:00
684898cfbf Fix Proportional Edit Projected 2D method skiped center calculation
rBa520e7c85c83 defined T_OVERRIDE_CENTER(1 << 25)
which was already in use T_PROP_PROJECTED(1 << 25)
thus skipping center calculation

Fixes T58882, T59518

Reviewers: campbellbarton, brecht

Maniphest Tasks: T58882, T59518

Differential Revision: https://developer.blender.org/D4100
2018-12-19 12:33:11 +01:00
908a274240 Fix T59237: Instancing on a path doesn't do anything
This commit makes it so curve path parent solving accepts an explicit
arguments for both time and curve speed flag, making it so we don't
have to mock around with scene's frame.

One unfortunate issue still is that if the instancing object is used
for something else, we might be running into a threading conflict.
Possible solution would be to create a temp copy of an object, but
then it will be an issue of preventing drivers from modifying other
datablocks.

At least the original issue is fixed now, and things behave same as
in older Blender version. Additionally, the global variable which
was defining curve speed flag behavior is gone now!
2018-12-19 11:59:47 +01:00
f7dc6a63fb Gizmo: optional custom orientations for transform
This aims to resolve a conflict where some users want to keep keyboard
axis setting global, even when the orientation is set to something else.

Move/rotate/scale can optionally each have a separate orientation.

Some UI changes will be made next.
2018-12-19 20:57:51 +11:00
231ea39ed1 Transform: use the scenes transform orientation
- Use the user orientation when pressing XYZ keys,
  second press switches to global.
- Pressing again switches to global, or local
  if you're have global orientation set.

The option for gizmos to have their own orientations will be added,
see: D4075
2018-12-19 20:49:13 +11:00
fd42fe6616 Fix T57139: Transform overlay shows even when disabled
Transform bypasses the gizmo API for drawing overlays,
so custom checks are needed.

Also don't draw the gizmo in other windows when transforming.
2018-12-19 12:30:16 +11:00
d46d8e831c Merge branch 'master' into blender2.8 2018-12-19 10:28:26 +11:00
5c3953010d Cleanup: spelling 2018-12-19 10:18:15 +11:00
61a816e8ff GP: Add calculation of center for transformation by stroke (WIP) 2018-12-18 22:56:40 +01:00
6e5b573dc8 Merge branch 'master' into blender2.8
Conflicts:
	source/blender/editors/transform/transform_conversions.c
2018-12-18 20:33:04 +01:00
1875f9e7d7 Fix T59104: Snapping: Align rotation to target broken in edit mode.
This has been unbelievably painful to understand... And solution is only
partially good actually, we may even want a single axis for all the
islands in that case? But for now this is giving much better results
already, compared to the random crazyness it used to produce.
2018-12-18 20:27:50 +01:00
5638db7495 Fix T58335: Grease Pencil Objects in Edit Mode have transform gizmos in wrong location
Original fix P874 with changes from @brecht
2018-12-18 19:18:57 +00:00
eb78579bb6 Correct own error in changes to pose gizmo center
Multi-pose gizmo center calculation from
5d09f5223e now works as expected.
2018-12-18 23:03:29 +11:00
a3e4c333b9 Transform: when snap affect is off for a transform mode, ignore snap settings entirely.
Ref D4022.
2018-12-18 12:14:38 +01:00
879c966598 Transform: option to use incremental snapping
This resolves this issue where users would enable a snapping mode
besides incremental (vertex for eg), then notice strange behavior w/
rotate and scale.
While this ability can be useful, it's quite an obscure use case.

Now changing snap-modes keeps rotate and scale using incremental snap,
with the option for these modes to be affected by other snapping modes.

D4022 by @kioku w/ own minor edits.
2018-12-18 10:08:23 +11:00
de662e7cd3 NLA: insert keyframes correctly for strips with non-Replace mode.
NLA strips support using the keyframe values in a variety of ways:
adding, subtracting, multiplying, linearly mixing with the result
of strips located below in the stack. This is intended for layering
tweaks on top of a base animation.

However, when inserting keyframes into such strips, it simply inserts
the final value of the property, irrespective of these settings. This
in fact makes the feature nearly useless.

To fix this it is necessary to evaluate the NLA stack below the
edited strip and correctly compute the raw key that would produce
the intended final value, according to the mode and influence.

Differential Revision: https://developer.blender.org/D3927
2018-12-14 22:19:18 +03:00
Sebastian Parborg
17905e89a7 Fix T59358: Wrong status bar keymap for release confirms and right click select.
Differential Revision: https://developer.blender.org/D4077
2018-12-14 16:59:49 +01:00
21523b5c86 Transform: remove incorrect 3D view check 2018-12-14 16:59:26 +11:00
dd4c87cd04 Merge branch 'master' into blender2.8 2018-12-14 11:09:42 +11:00
aa3c4b4cb6 Missed last commit 2018-12-14 11:06:34 +11:00
6e2d9ef2db Cleanup: naming (mean -> median) see T47811 2018-12-14 10:54:11 +11:00
7d4d9e9dbd Cleanup: style 2018-12-13 12:30:38 +11:00
5d09f5223e Gizmo: multi-object pose-mode gizmo positioning 2018-12-13 11:41:45 +11:00
81ea815dcb Gizmo: use general active center calculation
There are some minor differences in center calculation but I don't think
they're important, if so we can update the code.

- Edit-bone uses head (instead of the middle when both are selected).
- Edit-bone flag for restricting components uses the selection instead
  of the active bone.
2018-12-13 10:51:37 +11:00
0835c224ba Cleanup: de-duplicate active item center access 2018-12-13 10:41:03 +11:00
879e5cde64 Fix transform gizmo showing with active element pivot point and no selection.
It should be possible to use this when the active element is unselected, but
there still needs to be something else selected. Otherwise it is not possible
to deselect all as a way to get the gizmo out of the way.
2018-12-12 15:02:30 +01:00
49490e5cfb Merge branch 'master' into blender2.8 2018-12-12 13:02:09 +11:00
e757c4a3be Cleanup: use colon separator after parameter
Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.
2018-12-12 12:50:58 +11:00
16fc62e15f Docs: correct doxy comments 2018-12-12 12:18:52 +11:00
48a3f97b23 RNA: provide access to bone parent transform math from Python.
Applying the effect of bone parent is much more complicated than
simple matrix multiplication because of the various flags like
Inherit Scale. Thus it is reasonable to provide access to this
math from Python for complicated rest pose related manipulations.

The simple case of this is handled by Object.convert_space, so
the new method is only needed for complex tasks.

Differential Revision: https://developer.blender.org/D4053
2018-12-11 20:40:51 +03:00
e4153946ad Fix T59005: no FCurve cleanup in the Timeline
as opposed to the 'real' Dopesheet e.g. keyframes were not merged when
placed on the same frame

Reviewers: brecht, aligorith, angavrilov

Maniphest Tasks: T59005

Differential Revision: https://developer.blender.org/D4061
2018-12-11 09:27:04 +01:00
d421f3cac8 Fix T53166: Shift click gizmo axis lock broken 2018-12-11 16:42:00 +11:00
929ad440d7 Fix T57086: Offset Even option is unclickable 2018-12-10 16:51:53 +11:00
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
b48156d012 Cleanup: style 2018-12-07 20:48:56 +11:00
10540822dc Fix T58811: Scale bezier handle uses tip as origin 2018-12-07 18:22:14 +11:00
136e88f4ea Merge branch 'master' into blender2.8 2018-12-07 17:11:28 +11:00
52824f008e Cleanup: redundant counter 2018-12-07 17:06:21 +11:00
8afc4cf3ea Fix crazyspace transform w/ armatures 2018-12-06 13:05:35 +11:00
1b6a394d86 Cleanup: unused args 2018-12-04 10:39:03 +11:00
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
2df86ca967 Fix T56642: 3D view gizmo orientation wont update 2018-12-03 16:52:21 +11:00