Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-04Pose channel: Add session UUIDSergey Sharybin
Allows to identify pose channels more reliably than by the pointer.
2020-08-02Cleanup: pass const matricesCampbell Barton
Also order return matrices last.
2020-07-21Fix T78994: Clear selected pose doesn't work without animationHans Goudey
It looks like the code left this as a todo, but the basic solution is to add an extra parameter to BKE_bose_rest to check whether bones are selected before reseting them. I also corrected the operator description which said it acted on only selected bones even when there is an option to turn that off. The "act on selected" is generally implied for Blender's operators anyway. Differential Revision: https://developer.blender.org/D8319
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-07Cleanup: spellingCampbell Barton
2020-07-03Cleanup: Editors/Armature, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/armature` module. No functional changes.
2020-07-01Cleanup: spellingCampbell Barton
2020-06-30Cleanup: spellingCampbell Barton
2020-06-24Cleanup: unused struct membersCampbell Barton
2020-06-23Transform: default to median center instead of boundsCampbell Barton
When neither bounds or median is selected, snapping the cursor to the selection was using bounds which often doesn't give useful results. Resolves T78135
2020-06-18Cleanup: redundant parenthesisCampbell Barton
2020-06-17Cleanup: name mesh join functions using ED_{type} prefixCampbell Barton
2020-06-16Cleanup: unused headers, spellingCampbell Barton
2020-06-10Fix T77560: Bone selection crashesCampbell Barton
The was caused by 8b347fc2cdc67 as the old BONESEL_NOSEL flag handled the -1 case (used for none). Instead of checking for -1, remove these elements from the array as selection code makes decisions based on the number of hits detected.
2020-06-05CodeCleanup: Supressed warningJeroen Bakker
2020-06-05Code Cleanup: fcurve function namingJeroen Bakker
2020-06-05Cleanup: remove braces from previous commit (no functional changes)Campbell Barton
2020-06-05Armature: increase maximum delectable bones from 4096 to 8192Campbell Barton
Remove BONESEL_NOSEL which isn't needed. Addresses issue raised in T77378.
2020-05-19Merge branch 'blender-v2.83-release'Philipp Oeser
2020-05-19Fix T76717: Set Rotation Mode Incorrectly Recalculates Bone Rotation In Pose ↵Sebastian Parborg
Mode The issue was that we didn't convert the current rotational values. We simply just switched mode without doing any data conversions.
2020-05-19Made pose push/relax to breakdown behave smooth on rotationsSebastian Parborg
A follow up to T67212. I missed that the rotation interpolation had its own code path. The previous rotation push code was actually wrong (but smooth). Now all of the actions behave correctly and is smoothly interpolated.
2020-05-19Fix T76689: Armature layers not indicating the existence of bonesSybren A. Stüvel
From what I can see, there are two issues at play in {T76689} and its merged-in report {T76590}: - In Blender ≤ 2.79 the bone layer dots were updated in the draw code. This ensured the info was up to date before drawing. This is no longer possible, as the drawing code uses evaluated objects, and those should not be written to. This has been addressed in rB709f126e8143 by calling the update function explicitly in various places in the code. The problem is that this wasn't added to all necessary spots. - When in edit mode, changes are made to the edit bones but not to the 'actual' bones (this is synced when exiting edit mode). This causes undo to mess up the layer indicators. I think both issues can be addressed by having the dependency graph update the used layer info as part of the armature evaluation. This will make the undo system work properly, and allows the removal of some `BKE_armature_refresh_layer_used()` from various places. There is still the issue that there are two functions (`BKE_armature_refresh_layer_used()` and `ED_armature_edit_refresh_layer_used()`) that are both responsible for updating `bArmature::layer_used`. This is a trickier thing to solve, though, as the definition of the `EditBone` struct resides in the armature editor module. This means that blenkernel can't iterate over edit bones, but on the other hand the dependency graph shouldn't call any editor functions either. This is why I left the `ED_armature_edit_refresh_layer_used()` calls untouched. The downside of recalculating `layer_used` from the dependency graph (at least in the way that I did it now) is that it is called every time a user moves a bone in pose mode. This frequency of updates is not necessary. Differential Revision: https://developer.blender.org/D7709
2020-05-18Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-18Fix T76852: Breakdowner remembers limits last usedCampbell Barton
2020-05-13Fix T76717: Set Rotation Mode Incorrectly Recalculates Bone Rotation In Pose ↵Sebastian Parborg
Mode The issue was that we didn't convert the current rotational values. We simply just switched mode without doing any data conversions.
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-05-02Merge branch 'blender-v2.83-release'Nathan Craddock
2020-05-02Revert "Outliner: Fix selection sync for various operators"Nathan Craddock
This reverts commit 92d62148bed1cf68ed674b4a9c6ba6440a697ca8. When merging in from blender-v2.83-release the merge was somehow rebased after viewing the log.
2020-05-02Outliner: Fix selection sync for various operatorsNathan Craddock
Add missing outliner selection sync tagging for various non-outliner operators. * Curve separate * Grease Pencil separate * Mesh separate * Make instances real * 3D view paste * Sequencer paste * Armature delete, dissolve, separate, duplicate, subdivide, extrude, click extrude, primitive add * Pose Group select, delete Resolves T71404
2020-05-02Outliner: Fix selection sync for various operatorsNathan Craddock
Add missing outliner selection sync tagging for various non-outliner operators. * Curve separate * Grease Pencil separate * Mesh separate * Make instances real * 3D view paste * Sequencer paste * Armature delete, dissolve, separate, duplicate, subdivide, extrude, click extrude, primitive add * Pose Group select, delete Resolves T71404
2020-05-01Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.cSybren A. Stüvel
All the driver-specific code in `fcurve.c` has been moved into a new file `fcurve_driver.c`. The corresponding declarations have been moved from `BKE_fcurve.h` to `BKE_fcurve_driver.h`. All the `#include "BKE_fcurve.h"` statements have been investigated and replaced with `BKE_fcurve_driver.h` where necessary. No functional changes.
2020-04-29Merge branch 'blender-v2.83-release'Philipp Oeser
2020-04-29Armature posemode: add mouse independent "Select Linked" operatorPhilipp Oeser
The current "Select Linked" operator works based on mouse position and makes no sense to call from the menus and was removed in rB536055e1ee0b. This patch adds an operator independent from mouse position that just selects all bones in relation to selected bones (and adds back menu entries, adds keymap entry CTRL+L). The original operator is renamed to 'select_linked_pick' internally (this is now more in line to how "Select Linked" works for meshes, curves etc) ref T76071 Maniphest Tasks: T76071 Differential Revision: https://developer.blender.org/D7542
2020-04-28Merge branch 'blender-v2.83-release'Campbell Barton
2020-04-28Fix select linked in pose modeCampbell Barton
Only one of child bones would be selected when the bone under the cursor had multiple children.
2020-04-23Made pose push/relax to breakdown behave smooth on rotationsSebastian Parborg
A follow up to T67212. I missed that the rotation interpolation had its own code path. The previous rotation push code was actually wrong (but smooth). Now all of the actions behave correctly and is smoothly interpolated.
2020-04-16Cleanup: remove unused scene argumentCampbell Barton
2020-04-10Cleanup: comment bone cycling & simplify logicCampbell Barton
2020-04-09Fix T75425: Bone selection cycling not workingCampbell Barton
Edit-mode bone selection now cycles on successive clicks. This now cycles through multiple edit-objects & bones.
2020-04-08Cleanup: spellingCampbell Barton
2020-04-07Fix T66751: Symmetrizing armature does not symmetrize constraints.Sebastian Parborg
The symmetrize operator now tries to make sure that the armature constraints are correctly mirrored. Before it would only mirror the subtargets for the constraints (and that failed too in some cases). Reviewed By: Sybren Differential Revision: http://developer.blender.org/D6009
2020-04-07UI: Use Consistent Operator NameAaron Carlisle
Was called "Subdivide Multi" in Bone Edit and "Subdivide" in Mesh Edit
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Including "BLI_listbase.h" for LISTBASE_FOREACH macroDalai Felinto
These headers are not needed right away, but will be in the upcoming commit.
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: split ED_mesh_mirror_*_table into multiple functionsCampbell Barton
Spatial & topology mirror table each used a single function taking a char as an identifier. Split these into begin/end/lookup functions.
2020-04-03Cleanup: split `BKE_anim.h` and `anim.c` into smaller piecesSybren A. Stüvel
The files are now split up into the following sections: - `BKE_anim_path.h` and `anim_path.c` for path/curve functions. - `BKE_anim_visualization.h` and `anim_visualizationanim_path.c` for animation visualization (mostly motion paths). - `BKE_duplilist.h` for DupliList function declarations. These were already implemented in `object_dupli.c`, so they were rather out of place being declared in `BKE_anim.h` in the first place. No functional changes.
2020-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton