Commit Graph

997 Commits

Author SHA1 Message Date
b3791d59f6 Fix T60507: Constrained transform shows all axes
Regression in 579c01da60

Move values_modal_offset use out of applyMouseInput
to resolve order of initialization issue.
2019-01-15 18:40:31 +11:00
65b82e09d9 Fix T57852: Mesh X Mirror option not working
D3869 by @lichtwerk w/ own edits
2019-01-14 15:14:39 +11:00
ba2b26af31 Support proportional edit scaling on dopesheet keyframes
Fixes T60361

Reviewers: brecht

Maniphest Tasks: T60361

Differential Revision: https://developer.blender.org/D4188
2019-01-10 16:07:47 +01:00
38796a4971 Fix T59546: Grease Pencil Edit: Rotation around individual origins error
Thanks to Habib Gahbiche (@zazizizou) for helping fixing this bug. See D4156.
2019-01-04 17:01:39 +01:00
b01f2607a6 Transform: default shrink/fatten even-offset to false
Changed for 2.8 but this cases spikes for some geometry, see: T59968
2019-01-03 15:13:46 +11: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
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
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
dd4c87cd04 Merge branch 'master' into blender2.8 2018-12-14 11:09:42 +11:00
6e2d9ef2db Cleanup: naming (mean -> median) see T47811 2018-12-14 10:54:11 +11: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
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
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
4f997c0ebb Revert "Transform: use scene-orientation for MMB axis constraint"
This reverts commit 78a6c2e12c.
2018-11-29 21:52:38 +11:00
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
78a6c2e12c Transform: use scene-orientation for MMB axis constraint
Follows the change made for axis keys.
2018-11-28 19:48:19 +11:00
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
621405ee0f Merge branch 'master' into blender2.8 2018-11-27 11:41:33 +11:00
9a5df92c1b Fix T56872: Edge slide gives invalid normals
Add the ability to skip overwriting normals.
2018-11-27 11:40:32 +11:00
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
774471dd45 Fix custom matrix orientation being written to scene 2018-11-21 12:58:06 +11:00
55e719ec35 Merge branch 'master' into blender2.8 2018-11-14 17:21:34 +11:00
d7f55c4ff5 Cleanup: comment block tabs 2018-11-14 17:10:56 +11:00
3064da1200 Keymap: move builtin keymaps from C to Python
This should be purely an implementation change,
for end users there should be no functional difference.

The entire key configuration is in one file with ~5000 lines of code.
Mostly avoiding code duplication and preserve comments and utility
functions from the C code.
It's a bit long but for searching and editing it's also convenient to
have it all in one file.

Notes:

- Actual keymap is shared by blender / blender_legacy
  and stored in `keymap_data/blender_default.py`

  This only generates JSON-like data to be passed into
  `keyconfig_import_from_data`, allowing other presets to load and
  manipulate the default keymap.

- Each preset defines 'keyconfig_data'
  which can be shared between presets.

- Some of the utility functions for generating keymap items still
  need to be ported over to Python.

- Some keymap items can be made into loops (marked as TODO).

See: D3907
2018-11-09 11:33:06 +11:00
eb8ddaee4c Transform: support for custom matrix property
Needed for situations when we can't use the orientation.

With extrude the initial extrusion recalculates normals for edges
and vertices which then don't give a useful axis.
2018-11-01 07:55:53 +11:00
9c23e24543 Fix T57504: Scaling 3D cursor crashes 2018-10-31 11:51:15 +11:00
c8e6134386 Fix T56499: Adapt incremental snapping to orthographic viewport scale. 2018-10-30 14:22:30 -03:00
6d49b623e2 WM: space, region type filtering for paint cursor
Avoids calling poll on mouse-move for unrelated space/region types.
2018-10-25 16:06:47 +11:00
321c8232bc Tool System: expose shear tool x/y option 2018-10-18 13:55:01 +11:00
a5467637f2 Cleanup: use mul_m3_series 2018-10-18 11:50:22 +11:00
80fb943e4f Transform: map mouse input to shear direction 2018-10-17 17:18:30 +11:00
9273b91eef Transform: show arrows for 'custom' ratio input
Arrows are now shown for vertex/edge slide.
2018-10-17 17:14:36 +11:00
5b9ab20fe4 Transform: axis support for shear tool 2018-10-16 22:06:23 +11:00
c52485c16a Editor Transform: use the dial3d drawing in the rotation operation 2018-10-03 17:45:56 -03:00
dfce96dbf7 Dial3d Gizmo: Add the Incremental Angle option to snap. 2018-10-03 17:45:55 -03:00
2d21eb79ad Units: Support for fixed units
Users can select the main unit they want to use now.
Previously the displayed unit always depended on the magnitude of the value.
The old behavior can be restored by switching to the "Adaptive" mode for length, mass and time units.

Meters, kilograms and seconds are the default units for new and old scenes.

The selected unit is also the default unit for user input.
E.g. if cm is selected, whenever the user inputs a unitless number into a field of type length, it will be interpreted as cm.

Reviewer: brecht

Differential: https://developer.blender.org/D3740
2018-10-03 10:20:16 +02:00
e44dfbbba5 Transform: enable shrink-wrap even offset by default
Holding Alt now disables.
2018-10-03 13:10:11 +10:00
58adc58661 Merge branch 'master' into blender2.8 2018-09-27 15:49:59 +02:00
a247b53084 Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3732
2018-09-27 15:36:35 +02:00
9dad2a0e08 GP: Fix Alt+S problem with multiframe edition
The stroke must not be recalc, because the number of points does not change,so the triangulation of fill is the same.
2018-09-20 12:54:19 +02:00
f1c8c25a3e UI: rename Translate/Grab to Move in UI, shortcuts stay the same. 2018-09-06 12:22:09 +02:00
ae57383648 Cleanup: comment blocks 2018-09-02 18:28:27 +10:00
6901712734 Transform: Use grid_scale to configure the incremental snapping.
`gridview` is no longer being set and also does not match the new grid's drawing.
2018-08-24 18:04:36 -03:00
eb7b450c0c Cleanup: style 2018-08-10 08:14:22 +10:00
2b41b208c7 Merge branch 'soc-2018-bevel' into blender2.8 2018-08-09 19:52:07 +05:30
85cac2221c Fix T56279: Grease Pencil transformations show a help line with wrong origin
As grease pencil use multiedit frames instead of multiobject edit, this fix solves the issue.

In the future maybe will need modifications if we add multiobject support, but we need a solution now.
2018-08-09 16:14:29 +02:00