Based on the original patch by Vaishnav S (@padthai), this adds
support for temperature units. Initially supported units are Celsius,
Kelvin, and Fahrenheit.
The units aren't used anywhere with this commit. Those changes should
happen in separate patches by adding PROP_TEMPERATURE to RNA property
definitions. But it should be ensured that the various solvers and
simulations actually properly use real units.
The complexity of some of the changes comes from the fact that these
units have offsets from each other as well as coefficients. This also
makes the implementation in the current unit system troublesome.
For example, entering 0C evaluates correctly to 273K, but 0C + 0C
doubles that result, because each unit value is evaluated separately.
This is quite hard to solve in the general case with Blender's current
unit system, though, so it is not handled in this commit.
Differential Revision: https://developer.blender.org/D4401
The current playback popover has some issues:
- Using labels instead of headers is inconsistent with
the rest of the interface
- Incomplete context and description for some properties
- Ugly large spacing
This commit fixes these problems by using headers.
Differential Revision: https://developer.blender.org/D8434
This implements Box Trim as a boolean based trimming too gesture in sculpt
mode. This is the intended way to remove parts of the sculpt instead of
using box mask and mask slice. It also creates new face sets for the new
faces created after the boolean operation.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8766
Sometimes interpolate all frames is not convenient and it's better, for example, interpolate in twos.
The new parameter allows to define the number of frame for each step, by default is set to 1 as before.
{F8812621}
This is a request of animators to improve interpolate tools.
Reviewed By: mendio
Maniphest Tasks: T80190
Differential Revision: https://developer.blender.org/D8723
239b0b
This implements a Face Set Extract operator, which is similar to mask
extract. This operator uses a picker to select and Face Set in the mesh
and extract the geometry directly to a new object.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8599
We have established a convention of exposing the most important
settings from popovers, then aligning a popover to control more
detailed settings.
The file browser has powerful display / filtering settings, but
they're hidden in popovers at the moment, so it's sometimes a pain
to use them. The "display as" options are now exposed to the left of
the display settings popover, and the "filter" toggle is exposed to
the left of the filter settings popover. This convention is familiar
and intuitive for users and makes interaction faster.
Note that the "show hidden" item in the filter popover still has an
effect if filtering is disabled.
This commit also:
- Removes the icons in the "Sort By" enum
- Uses property split for the "Sort By" enum
- Very slightly increases the default width of the file browser
window to make room for the new buttons.
Differential Revision: https://developer.blender.org/D8719
This implements the sculpt gesture lasso and box operators for face
sets. They work the same way as the mask gesture operator and tools.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8716
For modifier shortcuts we added a "custom_data" field to panels.
This commit uses the same system for accessing the list data that
corresponds to each panel. This way the context is only used once
and the modifier for each panel can be accessed more easily later.
This ends up being mostly a cleanup commit with a few small changes
in interface_panel.c. The large changes in the UI functions are due
to the fact that the panel custom data is now passed around as a
single pointer instead of being created again for every panel.
The list_index variable in Panel.runtime is removed as it's now
unnecessary.
Differential Revision: https://developer.blender.org/D8559
Continuing the work from D8326, this commit adds a property split
layout to the add torus operator. It also puts the properties common
to all object add operators at the bottom for consistency.
Differential Revision: https://developer.blender.org/D8748
The animated objects was not updated for each internal substep for the rigidbody sim.
This would lead to unstable simulations or very annoying clipping artifacts.
Updated the code to use explicit substeps and tie it to the scene frame rate.
Fix T47402: Properly updating the animated objects fixes the reported issue.
Reviewed By: Brecht, Jacques
Differential Revision: http://developer.blender.org/D8762
Keymaps must be customized by the user.
But this is not the case for hardcoded keymaps.
Also the repetition of hardcoded and user-defined keyitems may induce
the user to think they have made a mistake or it is a bug.
Differential Revision: https://developer.blender.org/D6454
Useful to perform cleanup operations on many objects at once,
also these operations weren't accessible from the search menu.
This follows the convention for other clean up menus
when editing mesh, curve & grease-pencil.
Resolves issues raised in T80011
The CPP Shader class does not initialize the interface attribute.
What will crash when deleting the shader.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8740
The outliner already uses the alternating row theme color as an
overlay for every other row. This uses the same color for the file
browser, instead of a hardcoded shading.
The file browser background color is slightly tweaked to match the
outliner, and the Blender Light theme is updated to use a lighter
background color like the outliner.
Reviewed by: Hans Goudey, Julian Eisel
Differential Revision: https://developer.blender.org/D8717
`TH_UV_OTHERS` is a theme option that isn't hooked to anything since
blender 2.80. This patch will remove the option and related code.
Reviewed By: Campbell Barton
Differential Revision: https://developer.blender.org/D8669
Remove `exec()` and `eval()` calls from `WM_OT_properties_edit` where
possible. This not only results in simpler, cleaner code, but also
removes the necessity for `repr(value)` to evaluate to a Python
expression that in turn evaluates to `value` again.
No functional changes.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D8658
This adds the orientation modes to the Cloth Filter.
Similar to the mesh filter, they set the orientation of the axis when
limiting the forces.
When using the gravity mesh filter, the orientation also sets the gravity
direction. In world orientation, cloth will always fall towards the
ground plane. In view mode, cloth will always fall down relative to the
view.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8618
Popovers which are aligned with properties should turn themself
(and the panel they open) inactive when the corresponding property
toggle is turned off. A notable exception is the snap settings
popover, as snapping can still be used when the toggle is off.
Differential Revision: https://developer.blender.org/D8584
Now by default the selection mode is All keyframes types.
Also removed the icon for All option and renamed from `All Types`to `All`.
UI review by @pablovazquez
This adds a new brush property called "Deformation Target" which
controls how the brush deformations is going to affect the mesh data. By
default is set to Geometry, which makes the brushes displace the
vertices. When set to Cloth Simulation, the deformation of the brush is
applied to the cloth solver constraints, so the simulation is
responsible to apply the final deformation. This allows to add cloth
simulation effects to other sculpt tools with minor modifications to their
code.
This patch enables Cloth Simulation deformation target for Pose and
Boundary brushes, which are tools that are already designed to work in
low poly counts and produce large deformations. This allows creating the
most common cloth effects, like bending and compressing folds, without
relying on collisions.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8578
Previously, the XYZ deform axis of the Mesh Filter were limited to
object space (which is the default for sculpt mode). Now it is possible
to limit the XYZ displacement in Local, Global or View space.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8582
Final releases (including beta) should strictly show features that are
finalized to prevent loss of data, old API clanging around, and the
overall quality of the product (Blender) presented.
Note that rendering should never be affected by user preferences, so
this is only changing things in the UI level.
Development note: This is reset experimental UI on file load.
Also note: to hide RNA (needed for hair and particles) will be done as a
separate patch.
Differential Revision: https://developer.blender.org/D8606
This uses the same concept of the Mesh Filter but for applying the cloth
filter forces, so now it can be limited to a specific axis.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8567
One should be able to edit overridable IDProps values, but never their
settings/definitions.
Note that being able to add new IDProps to overrides is still a TODO.
Reported by Josephbburg (@Josephbburg) over blenderchat, thanks.
This code was left here after the refactor, it was doing nothing and it
was causing an assert.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8579
This uses a single row for the three axis instead of a row per axis.
Reviewed By: sergey, Severin
Differential Revision: https://developer.blender.org/D8581