Differential Revision: https://developer.blender.org/D8660
This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes
Using Curves" project. It adds a submode to greasepencil edit mode that
allows for the transformation of greasepencil strokes using bezier
curves. More information about the project can be found
here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.
Keymaps have previously been exported with an encoding dependent
on the current system locale. This caused issues when the
keymap contained non-ASCII characters, for instance in a string
property for an operator.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D9449
`sys.executable` is documented to be a Python interpreter or None.
This was set to Blender's executable which caused the multiprocessing
module to spawn new instances of Blender instead of Python on WIN32.
See issue described in D7815.
Deprecate 'bpy.app.binary_path_python' & warn when using.
Blender's executable remains accessible via `bpy.app.binary_path`.
Modified 04c5471cee, setting `sys.executable` instead of using
Py_SetProgramName, which is needed for a bundled Python installation.
`sys.executable` is documented to be a Python interpreter or None.
This was set to Blender's executable which caused the multiprocessing
module to spawn new instances of Blender instead of Python on WIN32.
See issue described in D7815.
Deprecate 'bpy.app.binary_path_python' & warn when using.
Blender's executable remains accessible via `bpy.app.binary_path`.
In practice, there are only a limited number of operations we need to
use repeat such as navigation, stepping operations that cycle states
and text input.
Now we don't need to disable repeat explicitly when a modal operator
uses checks for a key being held as was needed for 17cb2a6da0.
Repeat is now included in exported keymaps.
Use versioning so existing exported keymaps are loaded properly.
Python 3.7x added support for module `__getattr__` & `__dir__`.
Make use of this for operator access,
previously these were module like classes.
No functional changes, this is mostly to use a type which is expected,
rather than faking the type with a class instance.
- Density, interpolation and slicing options in Volume Object's
Viewport Display are now not aligned to each other as they are not
closely related.
- Changed the enum property for slicing ('Method') to a boolean
property 'Slice' and added a sub-panel for slicing options under
the 'Viewport Display' panel in Volume Object and Fluid for better
clarity.
- Renamed `axis_slice_method` to `use_slice` in the python API for
Volume Object and Fluid.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D9097
There is no ideal solution here, but we can assume by default that we should
use the Alpha output from a texture used for transparency data.
This will break people using a dedicated B&W texture for this alpha
pass, but we cannot really handle all cases properly in this wrapper, we
only try to support the most common ones to some extent.
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch.
**Major changes:**
=== Viewport Display ===
- //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly.
- An option to display //gridlines// when the slicing method is //single//.
==== Grid Display ====
- Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI.
==== Vector Display ====
- //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces.
- Made vector display options available for external forces.
==== Coloring options for //gridlines// ====
- Range highlighting and cell filtering options for displaying the simulation grid data more precisely.
- Color gridlines with flags.
- Also, made slicing and interpolation options available for Volume Object.
Reviewed By: JacquesLucke, sebbas
Differential Revision: https://developer.blender.org/D8705
Running `bpy.ops.script.reload()` from Python was crashing
since the operator being called was it's self freed.
Change the reload operator to defer execution - as supporting
re-registration during execution is quite involved for a corner-case.
Bone.children_recursive would return edit-bones when in edit-mode
irrespective of the type of the bone.
Check the type of self instead of the existence of edit-bones.
This reverts commit f14d24729f.
I commited the previous commit because I wasn't building with openvdb.
Compiling with openvdb fix the clang-tidy errror.
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.
Currently, the search operator in the node add menu NODE_MT_add is drawn
even if no node categories exists. This patch only draws the operator if
at least one node category passes the poll.
This patch is needed because some add-ons use custom search operator and
do not register node categories. In this case, it is undesirable to have
a search operator drawn that do nothing and is not used. One such add-on
is Animation Nodes.
Reviewed By: Jacques Lucke
Differential Revision: https://developer.blender.org/D8576