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
2022-08-03Cleanup: fix various typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D15588
2022-04-14Cleanup: Make curve deform argument optionalHans Goudey
The "dir" argument to `BKE_where_on_path` was only actually used in a few places. It's easier to see where those are if there isn't always a dummy argument.
2022-02-18Cleanup: Rename original curve object type enumHans Goudey
This commit renames enums related the "Curve" object type and ID type to add `_LEGACY` to the end. The idea is to make our aspirations clearer in the code and to avoid ambiguities between `CURVE` and `CURVES`. Ref T95355 To summarize for the record, the plans are: - In the short/medium term, replace the `Curve` object data type with `Curves` - In the longer term (no immediate plans), use a proper data block for 3D text and surfaces. Differential Revision: https://developer.blender.org/D14114
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-09Cleanup: use consistent copyright location, move descriptionsCampbell Barton
Order copyright immediately after the license block, this was done almost everywhere with a few exceptions. Remove authors from a few files (we had already removed "Contributors" section however with old patches being applied this gets added back in). Also move descriptive text into the doxygen comment block under \file. In some cases remove the text as it was accidentally copied.
2022-02-04Remove internal proxy code, and deprecate related DNA data.Bastien Montagne
Part of T91671. Not much else to say, this is mainly a massive deletion of code. Note that a few cleanups possible after this proxy removal were kept out of this commit to try to reduce a bit its size. Reviewed By: sergey, brecht Maniphest Tasks: T91671 Differential Revision: https://developer.blender.org/D13995
2021-11-26Fix T89564: Spline IK breaks when it is far away from the world originSebastian Parborg
The isect_line_sphere algorithm became very imprecise when the line and the sphere were reasonably far away from the world origin. This would lead to no intersections being reported even if there was a guaranteed intersection (line crossing from inside the sphere to the outside). To fix this we now use the secant root finding method to get an intersection point. This is much more stable and robust it seems.
2021-07-12Cleanup: improve naming and comments of scene frame/ctime functionsBrecht Van Lommel
Confusingly, BKE_scene_frame_get did not match the frame number as expected by BKE_scene_frame_set. Instead it return the value after time remapping, which is commonly named "ctime". * Rename BKE_scene_frame_get to BKE_scene_ctime_get * Add a new BKE_scene_frame_get that matches BKE_scene_frame_set * Use int/float depending if fractional frame is expected
2021-07-07Cleanup: spelling in commentsCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-05-06Fix T88065: Spline-IK bone position calculation fails in some casesSebastian Parborg
Fix trying to use cross product on parallel vectors. Fix intersection checks failing because we run into floating point issues with very small numbers.
2021-04-14Cleanup: spellingCampbell Barton
2021-04-13Fix T77330, T81704: Spline IK doesn't preserve bone scale correctlySebastian Parborg
Previously, the bone position outside of "fit to curve length" mode was incorrect. It assumed that the curve was completely straight with no bends or turns. This would lead to bones being scaled down as their final position would be servery underestimated in some cases. The solution is to do a sphere -> curve intersection test to see where to put the bones while still preserving their length. As we are using the tessellated curve data this essentially boils down to us doing a sphere -> line intersection check. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D10849
2021-04-08Fix T81707: Spline IK Joints "Floating" above curveSebastian Parborg
The issue was that where_on_path uses a resampled curve to get the data from the curve. This leads to disconnects between the curve the user sees and the evaluated location data. To fix this we simply use the actual curve data the user can see. The older code needed a cleanup either way as there were hacks in other parts of the code trying to work around some brokenness. This is now fixed and we no longer need to clamp the evaluation range to 0-1 or make helper functions to make it do what we actually want. Reviewed By: Campbell, Sybren Differential Revision: http://developer.blender.org/D10898
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-11Fix T83422: Dimensions incorrect after undoing if it has modified geometry.Bastien Montagne
Root of the issue is that `BKE_object_eval_boundbox` (that ports back evaluated bbox to orig object during active depsgraph evaluation) is only called when object's geometry actually is evaluated. However, with new undo, often Object itself can be changed by undo, without requiring its geometry to be re-evaluated, which was leading to the evaluated bbox not being copied back into orig object anymore. Fixing that by moving bbox copying-to-orig code into `BKE_object_sync_to_original` instead, which is always executed when object is evaluated (as hinted by the comment above `BKE_object_eval_boundbox` actually). Also allows to cleanup code for armature eval, apparently. Maniphest Tasks: T83422 Differential Revision: https://developer.blender.org/D9789
2020-09-09Cleanup: reduce variable scopeJacques Lucke
2020-08-01Cleanup: use term init instead of initialize/initialiseCampbell Barton
The abbreviation 'init' is brief, unambiguous and already used in thousands of places, also initialize is often accidentally written with British spelling.
2020-07-03Cleanup: Blendkernel, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenkernel` module. Not all warnings are addressed in this commit. No functional changes.
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-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2019-10-17Fix T70901: Pose bone with Armature Constraint moves in wrong directionSergey Sharybin
A regression since previous fix for proxy. Restore old code for copying values to an original pose channel.
2019-10-17Fix T70740: Clicking on proxy bone makes original one jump to initial locationSergey Sharybin
Caused by what appears to be a missing flush from evaluated bone back to original, which then makes it so copy-on-write operation happening after click (to synchronize selection flags) pushes original bone to its initial position. Differential Revision: https://developer.blender.org/D6051
2019-10-17Cleanup: Fix naming of a functionSergey Sharybin
2019-10-10Fix T65134: Duplicated proxies in several scenes don't workSergey Sharybin
This is something which worked in Blender 2.79. Need to do special trickery to ensure peoxy_from points to a proper object. Differential Revision: https://developer.blender.org/D6040
2019-08-19Fix crash when loading a file with existing proxy, and lib has been edited.Bastien Montagne
Editing a lib char should never, ever be done once you have proxies of it in your project, that will most certainly break a lot of things... But at leats let's try no to crash here.
2019-08-16Cleanup: spellingCampbell Barton
2019-05-08Spline IK: fix a scaling hiccup as bones roll off the end of the curve.Alexander Gavrilov
2019-05-07Spline IK: support using both original scaling and volume preservation.Alexander Gavrilov
Add a new option that makes the Spline IK solver apply volume preservation on top of the original scaling, considering the pre-IK scale of the bone as the goal volume to be preserved. This basically works similar to the Stretch To constraint, and allows easily rigging a stretchy chain that uniformly follows its parent's scaling. Since the Stretch To behavior is more familiar, the new option is on by default for newly created Spline IK constraints.
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-18Armature: remove remains of the object-level deformation data cache.Alexander Gavrilov
Now that B-Bone shape data is kept in bPoseChannel_Runtime, the armature level cache only holds one quaternion value per bone. It can also be moved to runtime, and the structure removed. This has an additional effect that, as far as I can tell, now the Armature modifier can run as soon as all of the bones it actually needs are done, thus making T59848 a purely depsgraph level problem.
2019-04-18Fix T63332: backup and restore bPoseChannel_Runtime data during COW.Alexander Gavrilov
2019-04-17Cleanup: Silence compiler warning with release buildsSergey Sharybin
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Spline IK: support changing individual bone length via Y scaling.Alexander Gavrilov
Previously Spline IK provided only two choices: either scale the length of the bone chain to fit the length of the curve, or don't scale the bone in the Y dimension at all (ignoring effects of actually fitting to the curve due to curvature and curve object scale). This patch adds a new option to use the pre-IK Y scale of the bones to adjust their length when fitted to the curve, allowing individual posing control over the length of the segments. Reviewers: brecht Differential Revision: https://developer.blender.org/D4687
2019-04-15Spline IK: fix continuity issues with influence and curve end rolloff.Alexander Gavrilov
Mainly, scaling needs to be continuously faded out in these cases. Plus, in the case of end roll-off, it seems better to integrate into this general fading system, instead of ad-hoc interpolation of tail.
2019-04-14Fix copy & paste mistake in assert.Alexander Gavrilov
2019-04-14Depsgraph: fix hard CTD on dependency cycles through POSE_INIT.Alexander Gavrilov
As reported in T63582, it can cause chan_array to be not ready. To reliably avoid crashing, the only easy way seems to be to create the index during COW -- maybe @sergey has a better idea.
2019-04-14Fix T59622: dependency problems with Spline IK.Alexander Gavrilov
The bug is caused by problems in the dependency graph. Unfortunately, fixing is not just a matter of fixing the graph, because correct dependencies would cause a cycle here and in other reasonable use cases. The real fix thus requires refactoring Spline IK to require curve data only in the actual evaluation phase, and not in POSE_INIT_IK. In addition, this separates the normal bone evaluation loop from Spline IK computations for two reasons: - That still needs to be done even if spline IK can't evaluate due to missing curve data. - It should reduce issues with induced shearing, as Spline IK now controls how parent-child relations are handled in the chain, and can take care to only carry over rotation and location.
2019-04-13Fix T62048: crash when turning off curve path animation with Spline IK.Alexander Gavrilov
Both fix missing depsgraph flag, and gracefully give up on missing data.
2019-03-12Make B-Bone deformation code more robust with bad cached segment data.Alexander Gavrilov
Various dependency graph problems can cause obsolete data to reach the armature modifier, so add checks to reduce the chance of crashing.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove original authorCampbell Barton
Missed when removing contributors.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2018-12-18Fix T59569: crashes when generate rig.Alexander Gavrilov
The fix in 9fa408f51b missed one place that needed the check, causing the assert because of incomplete data.
2018-12-10Fix T58928: New Action causes crash when duplicating boneSergey Sharybin
Basically, armature update is not supposed to be run in edit mode. This worked in master and new dependency graph because nobody was tagging armature for an update. But with all those copy-on-write and other things we can't ensure tag doesn't happen (and we shouldn't). So now we ensure unwanted code is not run from the code itself. P.S. Deeper reason of this goes to the optimization of not updating pose channels when in edit mode. Since pose doesn't define anything there we don't want to be bothered with a pose update after every operation which changes it.