Age | Commit message (Collapse) | Author |
|
ratio
Caused by rB4eda60c2d82d.
T83801 reported not moving in pixel space, but even without that toggle
above commit caused the translation to not take apsect ratio into
account properly [a translation of 1 on the x axis for example on an
image with non 1:1 aspect ration caused the UVs to not end up in the
same place on the next 'tile']
Above commit removed 'removeAspectRatio()' [the counterpart of
applyAspectRatio -- which does the pixel coord correction internally]
from 'applyTranslation()'.
This was also reported in T83352 [which was closed by rBf3b08af24c9f --
but that only solved the displax in header, not the actual
transformation]
Now bring back 'removeAspectRatio()'.
Maniphest Tasks: T83801
Differential Revision: https://developer.blender.org/D9869
|
|
|
|
|
|
Use 'and' instead of ampersand in descriptions and comments.
Differential Revision: https://developer.blender.org/D9797
Reviewed by Aaron Carlisle
|
|
This was returning an empty allocated string, however almost
all callers checked if the return value was NULL before freeing,
making for misunderstandings on the intended use of this function.
BCAnimationSampler::initialize_curves for example detected the
f-curves animation type to 'bone' based on a non-NULL return value
which never failed.
Also fixes two leaks where the the result of BLI_str_quoted_substrN
wasn't freed.
|
|
`t->keymap` can be `NULL`.
Bug introduced in rBc822f66bb83
|
|
Also makes NLA tracks and strips overridable.
User can either edit existing strips in existing NLA tracks (but not add or remove them), and/or add new NLA tracks after those comming from the linked data.
Most of the work was as usual checking operators and adding protections against illegal operations in override context.
Note that since we can only rely on indices to deal with local added tracks, we forbid any local track being before any linked/original track.
Maniphest Tasks: T72629
Differential Revision: https://developer.blender.org/D9611
|
|
expected effect
The transform modes `shrinkfatten` and `seq_slide` have a special way of
handling events.
They use modal events in a different way than expected.
Therefore, this commit adds special event handles for these modes and
removes the keymodal tips from the status bar.
These effects are already described in the header anyway.
|
|
Also decrease variable scope.
|
|
Technically it shouldn't have any effect on these editors.
The key tips in the header can be misleading.
The effect it previously had was not intended.
|
|
|
|
axis-constraining on release
With rBc0677b662f4b, we try to track all modal events in order to detect the
one corresponding to the release.
But modifier keys can mask the modal event and thus confirm realease ends up
being skipped.
This resulted in the T83387.
With this commit we now read the actual key drop value in the modal event.
This fixes T83387
|
|
engages axis-constraining on release"
This reverts commit c0677b662f4b13429c0738b99ace85403385ff38.
|
|
The displayed value was always that of the x axis.
|
|
This fixes T68521, T82334.
The object are not properly mirrored in object mode.
For mirroring an object that has an arbitrary rotation along the X axis
this is the procedure:
1. mirror x location.
2. negate x scale of the
3. negate y and z component of the rotation (independent of which rotation mode is used).
This knowledge applies now for all angles and axes to finally make the
mirror operation work in object mode.
The new mirror function has the downside that it can not (in this form)
be used with proportional editing.
This is no problem since the old behavior can still be replicated by
scaling with -1 along any axis.
The solution to get perfect mirrors can not work for scaling in general,
because in that case there could be scew created.
Reviewed By: mano-wii
Differential Revision: https://developer.blender.org/D9625
|
|
axis-constraining on release
Release confirm did not consider modal keymap events.
|
|
The incremental was taking priority but the other elements are mandatory.
|
|
The change was intentional so that the orientation matrices match
(`rv3d->viewinv` becomes equal to the orientation matrix).
But, although in a projection matrix the Z axis is negative, this
should not be so from the user's point of view.
So the solution here is to negate the Z axis when the View orientation
is chosen.
This affects all modes, but is only evident for rotation.
---
Another change here is to use the final rotation value (`values_final`)
for the gizmo drawing since this value can be changed by the mode.
|
|
The event "value" is not really required since this operation works as a toogle.
This change cleans and simplifies the code.
|
|
The transform modifiers are confirmed by releasing any button.
Thus, the operation can be falsely confirmed if the button that launched
the operation is released after the modifier has been activated.
Previously the events that confirmed the modifiers were hardcoded.
An option to fix this would be to add custom confirmation keyitens for
specific modifiers. But this can be a bit confusing and would make the
modal keymap even bigger.
So the solution here is to skip the button that launched the operation
when confirming the modifier.
|
|
The error was introduced in rBf470a02afaea, but the problem is in
`ED_transform_calc_orientation_from_type_ex`
|
|
Some modes were always using `"Global"` orientation as the default.
|
|
|
|
Add an optional callback to check source/destination loops for
BM_mesh_calc_face_groups.
This is needed so it can be used to calculate UV islands.
|
|
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.
|
|
Move headers files from `render/extern/` to `render/`
Part of T73586
|
|
|
|
|
|
|
|
|
|
The two entries `TFM_MODAL_AUTOCONSTRAINT` and
`TFM_MODAL_AUTOCONSTRAINTPLANE` had the same name
displayed in the UI. The latter is now includes
"plane" in it's name.
Reviewed By: mano-wii
Differential Revision: https://developer.blender.org/D9474
|
|
|
|
|
|
|
|
The radius is now calculated based on the vertices being transformed
by proportional editing, updated when the falloff changes.
|
|
Use "Rotation" in place of "Rot" for the rotation header text.
Cleanup various RNA titles and tooltips.
Differential Revision: https://developer.blender.org/D9457
|
|
This feature was added in D5608.
But in practice this confuses more than it helps.
This fixes T82386.
|
|
The behavior of the incremental snap did not take into account the
relative dimensions of the window, which resulted in a different behavior
if the area height was greater than the width.
|
|
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9349
|
|
Some tranform modes are not expected to be used in the `SPACE_ACTION`.
|
|
|
|
Follow our code style for doxygen sections.
|
|
Approximately 141 changes of capitalization to conform to MLA title style.
Differential Revision: https://developer.blender.org/D8392
Reviewed by Julian Eisel
|
|
Corrects incorrect usages of the fragment 'apart of' when 'a part of' was required.
Differential Revision: https://developer.blender.org/D9245
Reviewed by Campbell Barton
|
|
Corrects incorrect usages of the word 'loose' when 'lose' was required.
Differential Revision: https://developer.blender.org/D9243
Reviewed by Campbell Barton
|
|
Corrects incorrect usages of the words 'then' and 'than'.
Differential Revision: https://developer.blender.org/D9246
Reviewed by Campbell Barton
|
|
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required.
Differential Revision: https://developer.blender.org/D9250
Reviewed by Campbell Barton
|
|
Remove sculpt/paint checks in getTransformOrientation_ex
This code goes back a long time (early 2.5x). I couldn't find any
reason why sculpt/paint checks were being made.
This makes the following changes:
- When in object mode, the object must be selected.
Since this function typically operates on the selected items.
- When in paint/particle modes, the objects matrix is always
used regardless of selection, since object selection can't be
controlled in these modes.
- When there is no active object, the first selected object is no
longer used as it's quite an arbitrary decision & not something
done elsewhere with objects in Blender.
|
|
`CustomData_bmesh_interp` use the same CustomData decryptor (in this case, `bm->ldata`) in both blocks.
So make sure that all CustomData layers match.
This commit also removes redundant `BM_elem_attrs_copy_ex` calls.
Maniphest Tasks: T81060
Differential Revision: https://developer.blender.org/D9159
|
|
Follow our code style guide by using C-comments for text descriptions.
|