Age | Commit message (Collapse) | Author |
|
Reviewers: brecht
Maniphest Tasks: T64210
Differential Revision: https://developer.blender.org/D4817
|
|
|
|
Will allow to avoid confusion about original/evaluated scene used
to access those in the nearest future.
|
|
|
|
Allows to extend that code more easily.
|
|
|
|
|
|
matrix inversion was changed in rB01c75c3765eb from own code to EIGEN
for performance reasons. EIGEN would return a zero matrix on failure
(resulting in the pivot always being at the object origin).
This brings back the "old" matrix inversion code (which has the benifit
of providing a partial solution which makes the local transform center
appear correct)
Reviewers: campbellbarton
Maniphest Tasks: T57767
Differential Revision: https://developer.blender.org/D4804
|
|
This allows creating hooks completely without the use of operators.
Also fix subtarget to actually recompute the inverse matrix.
In order to follow the vertex_indices_set function naming convention,
it is necessary to fix makesrna to avoid a naming conflict between
the function wrapper and the property accessor by adding a tag.
Differential Revision: https://developer.blender.org/D4798
|
|
|
|
|
|
Do not iterate over degsgraph when overlays are turned off and
rendering via an external engine. External engines sync data
from Blender differently. The external engine
draws the depth buffer, but that is only needed for overlays.
Reviewers: fclem, brecht
Differential Revision: https://developer.blender.org/D4791
|
|
This color is also used for the right margin,
so use a color that contrasts with the background.
Also use 2x width line.
|
|
|
|
Replace comments on caller with more meaningful name.
|
|
|
|
|
|
Restore from 2.7x (lost when migrating to migrating keymap to Python).
|
|
This had some cost in perf and is not needed most of the time. If the
drawcall really needs it, it should use a correct ob pointer.
|
|
Theses are garanteed by the depsgraph now.
|
|
|
|
|
|
|
|
After a lot of thinking about this, I decided that all operation modes
that I've tried over the past couple of years, including the original
2.79 one, have their uses after all. Thus the only reasonable solution
is to add yet another option.
The modes are:
- Strict: The current 2.80 mode, which overrides the original scaling
of the non-free axes to strictly preserve the volume. This is the most
obvious way one would expect a 'Maintain Volume' constraint to work.
- Uniform: The original 2.79 mode, which assumes that all axes have been
scaled the same as the free one when computing the volume. This seems
strange, but the net effect is that when simply scaling the object
uniformly with S, the volume is preserved; however, scaling the non-
free axes individually allows deviating from the locked volume.
This was obviously intended as a more or less convenient UI tool.
- Single Axis: My own variant of the intent of the Uniform scale, which
does volume-preserving if the object is scaled just on the Free axis,
while passing the non-free axis scaling through. I.e. instead of
uniform S scaling, the user has to scale the object just on its
primary axis to achieve constant volume. This can allow reducing the
number of animation curves when only constant volume scaling is needed,
or be an easier to control tool inside a complex rig.
|
|
Refactor a bit node selection code, mostly in the socket selection in
one place 'extend' logic usage was inverted, deselection of other
sockets/nodes was not working properly.
Also now make node active when selecting a socket, this makes more sense
and makes the NODE_OT_link_viewer macro much more useful (this is the
only user of the 'socket select' feature currently, afaics).
|
|
This avoid errors in old files.
|
|
|
|
|
|
Thanks to matc for helping to find this, it was writing the paint slots wrong.
|
|
Unlike location and rotation, there is a meaningful definition of
overall/average scaling via the total change in the volume. This
adds an option to retrieve that via a single driver variable,
instead of having to use three and an expression.
Using the determinant to compute the volume scaling also allows
detecting flipping due to negative scale - this is impossible
to do via the three variable approach.
The volume_scale functions are added purely for code readability:
'volume scale factor' is easier to understand than determinant.
Differential Revision: https://developer.blender.org/D4803
|
|
Missed this file from prior commit.
|
|
Especially needed now that they are just icons
|
|
It is possible that dependency graph was not yet initialized,
so need to do NULL pointer check.
|
|
thx @Zoot (Gavin Scott) for spotting and providing better wording
Fixes T64157
|
|
- was introduced in rB844a17a3d9d2 but apparently never used
- spotted while looking into T57767
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4805
|
|
A template_curve_mapping with brush=True was always resetting the curve
to a positive slope (descending from left to right).
Behaviour is now changed so that specifying "use_negative_slope" is
taken into account as well.
Also use this for:
- paint "cavity_curve"
- gpencil "curve_sensitivity" / "curve_strength" / "curve_jitter" /
"interpolation_curve"
Reviewers: brecht
Maniphest Tasks: T64164
Differential Revision: https://developer.blender.org/D4809
|
|
Mainly covers RNA callbacks which were still doing direct scene update,
which was causing crashes. Now corresponding ID_RECALC flags are used,
so all scenes can update accordingly.
Also tested animated volume/pitch on strips, which now works as well.
Fixes T64133: Assert after changing FPS
Fixes T64154: Immediate crash when changing the current frame on the timeline
Fixes T64185: Client Crashes when the frame position value is changed
Fixes T64190: Blender Crash using Timeline Editor
Fixes T64128: Click to close bug type on timeline
Fixes T64147: Crash when setting current frame from Python
Fixes T64152: Blender Auto-Close on timeline change
|
|
Only a few icons are colored, which caused some random icons to be colored and
others not. We can add it back for specific menus later (like add object or
modifiers).
|
|
New icons from Andrzej Ambroż / jendrzych:
- New icons for select tool modes
- Brought back screen icon for viewport visibility toggles
- Added new Instanced visibility toggle (unused currently - meant for forthcoming updates to the Outliner)
- New Gizmo icon for the header
- Many tweaks and alterations to existing icons. Full list on Devtalk
- Use correct icon when Proportional Editing is disabled
|
|
Due to some fields in the context being NULL access was happening
to the default view layer, not the active one.
Simply re-arranged context initialization, so it happens before
accessing dependnecy graph.
Fixes T64183: Crash in BKE_sound_scene_playing due to Scene NULL
Fixes T64192: Crash opening a file with a non-default View Layer active
|
|
|
|
Added working X-mirroring in pose mode with an optional relative mirror
mode.
Reviewed By: Campbell Barton
Differential Revision: http://developer.blender.org/D4765
|
|
Own error in 928becec60d16, move cursor drawing to single location.
|
|
|
|
- Add missing tooltips to Quick Effects and Subdivide Edge Ring
- Add proper tooltip to the Bevel operator
- Clearer tooltips for the extrude operators
Plus a few other tweaks
Suggested by users on Devtalk.
|
|
This matches bpy.ops.object.shape_key_remove(all=True) in behavior.
|
|
This can easily happen if adding drivers through Python via
pose.bones[...].bone.driver_add(), e.g. in Rigify code: the
bone field doesn't change id_data, so the driver is associated
with the object ID.
To handle this it's necessary to skip from Object to data in
RNA_Bone-specific code both for generic RNA and in the custom
code for drivers. The latter also had to be changed to use the
proper parsed RNA pointer instead of string matching on paths.
|
|
Usually the brush type is correct, but for some old files the brush could be a not valid type. In this case, returns the object active material.
This is related to T61413
|
|
Fall-through without label or default after it.
|
|
|