Commit Graph

60815 Commits

Author SHA1 Message Date
1f30232aa7 Multi-Object-Editing: MESH_OT_vertices_smooth_laplacian
Since D3284 was inactive for a long time, I figured I could finish this.

This revision also gives warning when there are no selected faces or when
selected faces are invalid.

Changes from reviewer (Dalai Felinto) :
* Code style
* Fix checking for ngons (BM_ITER_MESH is a for loop, you need to break from it
before continuing the object iteration loop).

Differential Revision: https://developer.blender.org/D3659
2018-08-31 11:45:53 -03: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
Dalai Felinto
ec3357e03a Multi-Objects: VIEW3D_OT_snap_selected_to_cursor by Habib Gahbiche
Objects in edit mode now behave as if they were joined.

Changes from reviewer (Dalai Felinto): code style (tabs, spaces, ...), missing MEM_freeN(objects);

https://developer.blender.org/D3648
2018-08-31 11:06:28 -03:00
Dalai Felinto
6c87958dac Fix Text Boxes not drawing
I'm using a different shading group for the active text box and the others.
This way I can assign different colors to them.

The alternative would be to create a new `shgroup_dynlines_dashed_flat_color`,
but I find this overkill for such a simple use case.
2018-08-31 09:53:44 -03:00
d7c58cd8f7 Fix broken decorate buttong dragging after recent changes. 2018-08-31 13:35:07 +02:00
ca73883e19 Cleanup: Remove unused field 2018-08-31 09:54:35 +02:00
ac9e1e692c Merge branch 'master' into blender2.8 2018-08-31 14:53:34 +10:00
976f14fbcf PyAPI: replace checks for invalid input w/ assert
Was returning -1 as a bool argument,
in this case the caller needs to ensure non-null args.
2018-08-31 14:51:59 +10: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
39ee0f01e3 Merge branch 'master' into blender2.8 2018-08-31 14:25:42 +10:00
98800aa4e0 C/Python API: Add PyC_RunString_AsIntPtr
Utility to get an int or pointer from a Python expression.
2018-08-31 14:21:32 +10:00
7c6136b35c Merge branch 'master' into blender2.8 2018-08-31 13:40:10 +10:00
18d135d05c Cleanup: rename WM_keymap_find -> WM_keymap_ensure 2018-08-31 13:36:46 +10:00
e3c110e72e Fix T56619: Transform crash w/ curve deform 2018-08-31 11:15:09 +10:00
Dalai Felinto
f436e0acab Cleanup: GPU_BATCH_DISCARD_ARRAY_SAFE (deduplicate existing code) 2018-08-30 17:49:05 -03:00
Dalai Felinto
7527f2317a Fix Font object: text selection and cursor not updating 2018-08-30 17:49:05 -03:00
Dalai Felinto
7874f5e5a1 Silence Grease Pencil warning 2018-08-30 17:49:05 -03:00
ebed5323e0 GP: Change icon identfier for shaderFx
This commit complements commit d2ad256326
2018-08-30 19:22:24 +02:00
bb531da566 UI: remove context path from tool settings tab in properties editor. 2018-08-30 17:56:54 +02: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
b491577cb7 Cleanup: Improve comments 2018-08-30 16:44:52 +02:00
a9664fa666 GP: Fix unreported surface missing strokes
When drawing in surface mode if the stroke z-depth was not valid, the stroke was created, but it was not visible because location was something illogical.

Now, if the z-depth cannot be calculated, the stroke is calculated as it was done in other modes.
2018-08-30 16:42:52 +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
df8a7ec3a8 Fix fox strict flags: Avoid sign cast of strlen() result 2018-08-30 14:14:18 +02:00
caa7f749ed Merge branch 'master' into blender2.8 2018-08-30 13:59:34 +02:00
9b937c8404 Outliner: support dragging multiple collections, same as objects. 2018-08-30 13:59:17 +02:00
961881495f GP: Undo previous Subdivide edit operator and reformat code
The previous commit reusing the subdivide modifier code was not taking in account the selected points, so the subdivide was wrong.
2018-08-30 13:45:12 +02:00
41d1af9a11 UI: check prop-separate before adding black decorator
This caused the blank icon to be added to menus (ndof menu for eg).
2018-08-30 20:50:06 +10:00
5e66791b86 Cleanup: warnings 2018-08-30 20:48:00 +10: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
22dc248f14 Fix T56610: crash saving images with python API. 2018-08-30 12:19:27 +02:00
9d00b0f796 Cleanup: Remove line introduced by error in previous commit 2018-08-30 11:18:04 +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
0845b1c8c8 GP: Improve Subdivide and Simplify
Now the weights are managed in the operators.

The subdivide operator and modifier code have been replaced with a shared function.

Some cleanup also.
2018-08-30 11:11:47 +02:00
3071d67c3a UI: fix glitch redrawing after redo panel collapse 2018-08-30 19:00:37 +10:00
edef141d0b GP: Add small offset to stroke over surface.
This small offset helps to keep the stroke over the surface and avoid the stoke is "inside" the face of the surface.

We could add this as a parameter in the UI, but after doing a lot of test, the valid values are very limited and don't worth the change, so a hardcoded value works fine.
2018-08-30 10:17:48 +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
7dd24ba6e8 3D View: use thicker edges when in edge-mode
Without this there is no visual differentiation between face/edge mode.
2018-08-30 15:54:23 +10:00
84cc111e8b 3D View: scale edit-mesh drawing by pixel size 2018-08-30 14:28:50 +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
a4a9f4b3d1 Transform: fix redundant gizmo constraint axis
Setting the constraint caused the redo to show
redundant XYZ constraints UI.
2018-08-30 09:17:12 +10:00
add923f98a UI: add active tool panel to tool settings 2018-08-30 09:00:39 +10:00
3a87641aa8 Fix Freestyle build error after recent merge. 2018-08-29 18:54:04 +02:00
89186595de Cleanup: add file doxy comments 2018-08-30 01:56:08 +10:00
0efecba957 Merge branch 'master' into blender2.8 2018-08-30 01:38:16 +10:00
39eb051616 Cleanup: indentation 2018-08-30 01:31:20 +10:00
21105e1b1f Cleanup: use simple early exit for common case
Caused MSVC warning, may as well do simple check.
2018-08-30 01:19:44 +10:00
2c0f22f49c Cleanup: correct header guard 2018-08-30 01:02:26 +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