Commit Graph

8944 Commits

Author SHA1 Message Date
0e09ee3350 Tool System: map keys bound directly to a tools
If a key is bound to activate a tool in the tool-system,
add this to the popup keymap.
2018-09-03 11:11:56 +10:00
4893b8c693 Fix toolbar popup outside the window region 2018-09-03 10:19:30 +10:00
4e3457115c UI: correct unintended space in string formatting 2018-09-02 20:05:45 +10:00
b6f0f8a5b5 Cloth: Implement angular bending springs
This implements angular bending springs for cloth simulation. This also
adds shearing springs for n-gons.

This angular spring implementation does not include Jacobian matrices,
as the springs can exist between polygons of different vertex counts,
rendering their relationships asymmetrical, and thus impossible to solve
with the current implementation. This means that the bending component
is solved explicitly. However, this is usually not a big problem, as
bending springs contribute less to instability than structural springs.

The the old linear bending model can still be used, and is the default for
existing files, to keep compatibility. However, the new angular bending
model is the default for any new simulation.

This commit makes small breaking changes, in that shearing springs are
now created on n-gons (also in linear bending mode), while n-gons were
previously ignored.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3662
2018-08-31 16:39:43 +02:00
e3d31b8dfb Cloth: Componentize forces
This separates cloth stiffness and damping forces into tension,
compression, and shearing components, allowing more control over the
cloth behaviour.

This also adds a bending model selector (although the new bending model
itself is not implemented in this commit). This is because some of the
features implemented here only make sense within the new bending model,
while the old model is kept for compatibility.

This commit makes non-breaking changes, and thus maintains full
compatibility with existing simulations.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3655
2018-08-31 16:33:59 +02:00
b1ccb6ad25 Tool System: support tool description for tips
When the description isn't set, the operators is used instead.
2018-08-31 14:37:10 +10:00
d2ad256326 UI: add dedicated icon IDs for decorators, tool settings, shaderfx, overlays.
The preset and decorator icons were updated to be monochrome and draw in the
same color as text. Other icons are unchanged, having them as separate icon IDs
prepares for an artist to make them.
2018-08-30 17:56:54 +02:00
9f78f471d7 Workspaces: switch object mode when switching workspaces.
In the workspace properties a mode can now be configured that is
automatically enabled when switching to the workspace.

This is a test to validate how well it works. The weak point is
that if you don't have an appropriate object already select it will
not switch modes.

See T56475.
2018-08-30 16:10:03 +02:00
9a646b6a20 GP: New Armature modifier and tools to handle weights
This commit adds a new armature modifier for grease pencil. The deformations are done reusing the mesh deform routines.

There is also a new operator in weight paint mode to help the artist to generate weights base on armatures. This operator is required because 2D animation workflow is not equal to meshes when parent an object to armatures.

In the drawing engine has been added the option to handle the Fade object parameter used in armatures to see the strokes while move the bones.

When rename bones, all related data of grease pencil is renamed too. This not only affect new armature code, but also layers parented and hook modifiers.

Thanks @aligorith for his review and help.
2018-08-30 12:23:08 +02:00
f2d8241b23 GP: Add weights while drawing strokes
Now it's possible to add the weight of the current selected vertex group to any new stroke created.

This is very handy when add drawings after the weight paint was done and it will be required with Armatures.
2018-08-30 11:11:47 +02:00
e74d7d6f81 3D View: option to always show center in face mode
This matches 2.7x behavior
2018-08-30 16:21:03 +10:00
2093b79ee7 Cleanup: inline icon conditional 2018-08-30 13:47:27 +10:00
e9c2477a84 UI: show workspace panel last & use a parent panel 2018-08-30 13:30:16 +10:00
8ace389fc4 UI: move workspace panels to tool settings
While this isn't the most logical place, there are very few workspace
options and they don't need to be in such a prominent location.
2018-08-30 13:06:03 +10:00
9a66905b08 UI: use property split for mesh options 2018-08-30 09:05:48 +10:00
add923f98a UI: add active tool panel to tool settings 2018-08-30 09:00:39 +10:00
0d085790d1 Python / Cleanup: rename INFO_MT to TOPBAR_MT/VIEW3D_MT to reflect actual location. 2018-08-29 16:25:50 +02:00
e81c352746 Tool System: hide paint options for non brush tools 2018-08-29 23:58:44 +10:00
5269a3c1af Tool System: tool to extrude along normals 2018-08-29 23:00:57 +10:00
1858689afb Cleanup: rename manipulator -> gizmo 2018-08-29 18:40:32 +10:00
54a13da1b1 Tool System: only show select tool w/ paint mask 2018-08-29 16:26:50 +10:00
a81290ddeb UI: disable brush popover in particle mode
This currently duplicates the same settings.
2018-08-29 15:51:02 +10:00
b72e81bfd0 UI: refactor particle panel/topbar logic
Similar logic for panel & topbar, use same checks.
2018-08-29 15:46:36 +10:00
f21d6c3187 Tool System: add curve extrude 2018-08-29 15:14:41 +10:00
6778eb89ea Tool System: show radius for circle select 2018-08-29 15:04:05 +10:00
12562f1c76 UI: disable decorators when not used 2018-08-29 11:42:07 +10:00
ab2b6134c9 Tool System: make armature extrude use drag event
Extrude tool was calling click-extrude.
2018-08-29 11:11:11 +10:00
Roel Koster
55263c8a4c Fix some UI script errors after recent keyword changes.
Differential Revision: https://developer.blender.org/D3654
2018-08-28 18:09:22 +02:00
Dalai Felinto
2e9a0e1254 Fix space text script - keyboard for labels
I guess multi-line ui elements were not covered in the cleanup scripts.
2018-08-28 10:17:58 -03:00
590a6b5269 Cleanup: pep8 2018-08-28 21:01:22 +10:00
William Reynish
c1503cd447 Tool System: use release_confirm for gpencil
Also rename some grease pencil tools.
2018-08-28 20:43:34 +10:00
William Reynish
95cbb70cf7 Tool System: add shear and to-sphere tools 2018-08-28 20:41:48 +10:00
039b11f349 PyRNA: all optional args now must be keyword args
In some cases the RNA API should be updated to make arguments use the
'required' flag, instead of adjusting Python scripts.

See T47811
2018-08-28 13:55:11 +10:00
5bf42ce022 RNA: use required args for internal popup end API 2018-08-28 13:50:11 +10:00
e1ec93ce75 UI: use keyword arguments
Prepare for keyword only args.
2018-08-28 13:41:47 +10:00
d3a72033f6 RNA: UILayout.split(..) 'percentage' to 'factor'
Misleading name since it's between 0..1.

Use as a keyword argument to prepare for keyword only args.

Also document that leaving unset has special behavior.
2018-08-28 12:50:11 +10:00
e9fb2feb2e UI: text keyword argument to label
Prepare for keyword only args
2018-08-28 12:34:51 +10:00
9195b5b3b1 GP: Replace custom function by standard API
Replace BKE_gpencil_get_material_index by BKE_object_material_slot_find_index
2018-08-27 23:16:02 +02:00
9de320d882 GP: New operator to copy layers between objects
The operator allows to copy a complete layer with all frames or only active frame to a new object.

Can be found in edit specials menu (W key) or in Layers specials menu (last button near layer list).
2018-08-27 16:31:03 +02:00
1a7837596c GP: Select color in Brush or in Properties
After some artist feedback the material selection was not clear.

Now, the material can be selected in the top bar or in the properties panel.

1) If the material is selected in properties panel, all Brushes except pinned will be assigned to this material.

2) If the material is selected in the brush, the properties panel is updated to set the active material.

Added a new Pin icon to keep locked the material to one brush
2018-08-25 00:04:40 +02:00
edbe334ae9 GP: Add arrange strokes to edit specials menu 2018-08-24 15:47:25 +02:00
7fa42b3e51 Fix T56511: UILayout.prop_search misaligned
Add padding when used with property decorations.
2018-08-24 12:11:24 +10:00
bae8ab3188 UI: remove hack to align search properties 2018-08-24 11:55:49 +10:00
8ec74106f8 Fix single column UI: grey out B-Bone properties when not a B-Bone.
There was a mistake when the UI was converted to the new layout style.
2018-08-23 22:37:30 +03:00
34ebf6f82c Workspaces: move delete to right click menu, instead of X on tab.
These are not intended to be closed as often as e.g. browser tabs, they are
intended to be more persistent and accidental closing should be avoided.
2018-08-23 20:02:08 +02:00
1de3ae7e42 UI: rename Grease Pencil panels in toolbar to Annotation.
To match the panels in the N key sidebar.
2018-08-23 19:05:42 +02:00
William Reynish
c11997ccfc UI: Physics panel minor adjustments
Flow panel had a wrong name when the checkmark was used in the header, fixed alignment in softbody panel & fixed wrong active state for Cloth Pin.
2018-08-23 17:21:55 +02:00
William Reynish
2dafc39d56 Icons: new icons for sculpt border hide/mask 2018-08-23 23:06:24 +10:00
73f90b2505 Fix annotate tool in the 3D view
We can't share tools between space-types since they contain keymaps
that store the space type.
2018-08-23 20:25:25 +10:00
32f3ecf701 Cleanup: use staticmethod when class isn't used 2018-08-23 20:16:50 +10:00