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
2019-01-10Cleanup: remove unused copy menu codeCampbell Barton
Unused since 2.4x.
2019-01-08Cleanup: comments causing bad clang-format outputCampbell Barton
2019-01-06Cleanup: add trailing commas to structsCampbell Barton
Needed for clang formatting to workaround bug/limit, see: T53211
2018-12-21Fix T59673: wrong B-Bone handle references when duplicating bones.Alexander Gavrilov
Also fix and improve symmetrize behavior.
2018-12-14Merge branch 'master' into blender2.8Campbell Barton
2018-12-14Missed last commitCampbell Barton
2018-12-13Armature Edit Mode: improve box/lasso selectCampbell Barton
Mostly rewrite logic which now matches (de)select picking, share between both operators. - Support all selection operations (eSelectOp), fixes T59255. - Add function that selects using 'BONESEL_*' flags & eSelectOp. This avoids lasso & box select having to handle selection flushing. - Fix strange behavior with lasso where selecting a bone in a chain would only select the tip (from 2.7x).
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-07Cleanup/refactor binding code for MeshDeform modifier.Bastien Montagne
We had two different ways of doing it, SurfaceDeform and LaplacianDeform would do it through a special modifier stack evaluation triggered from binding operator, while MeshDeform would do it through a regular depsgraph update/eval (also triggered from its binding op). This enforces the later to search back for orig modifier data inside modifier code (to apply binding on that one, and not on useless CoW one). Besides the question of safety about modifying orig data from threaded despgraph (that was *probably* OK, but think it's bad idea in general), it's much better to have a common way of doing that kind of things. For now it remains rather dodgy, but at least it's reasonably consistent and safe now. This commit also fixes a potential memleak from binding process of MeshDeform, and does some general cleanup a bit.
2018-12-06Armature: support select-linked deselectionCampbell Barton
Matches edit-mesh mode.
2018-12-02Merge branch 'master' into blender2.8Campbell Barton
2018-12-02Cleanup: BKE b-bone API namingCampbell Barton
Use BKE_pchan_bbone prefix.
2018-12-01Fix T58412: in weight paint + pose mode certain armature operations crash.Alexander Gavrilov
The cause is that FOREACH_OBJECT_IN_MODE_BEGIN assumed that the active object is in the correct mode, which is wrong in this case. It also only considered objects of the same type as active, which had to be replaced with an explicit type parameter.
2018-12-01Fix more cases of evaluated mesh being built for non-COW objects.Alexander Gavrilov
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-11-29Cleanup: remove unused filesCampbell Barton
2018-11-263D View: remove 3D cursorCampbell Barton
Use 3D cursor from the scene (was previously used for local-view).
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-19Fix handling of B-Bone custom handle references in Edit mode undo.Alexander Gavrilov
Correct a couple of places that should process the handle pointers.
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-12Remove AnimMapper: it has been left unimplemented for almost ten years.Alexander Gavrilov
It was supposed to be a feature for substituting RNA paths on the fly, but has never been implemented, apart from a couple of structure definitions and passing around some always-NULL pointers. Now it gets in the way of refactoring NLA evaluation to use GHash for efficiency.
2018-11-09Keymap: move builtin keymaps from C to PythonBrecht Van Lommel
This should be purely an implementation change, for end users there should be no functional difference. The entire key configuration is in one file with ~5000 lines of code. Mostly avoiding code duplication and preserve comments and utility functions from the C code. It's a bit long but for searching and editing it's also convenient to have it all in one file. Notes: - Actual keymap is shared by blender / blender_legacy and stored in `keymap_data/blender_default.py` This only generates JSON-like data to be passed into `keyconfig_import_from_data`, allowing other presets to load and manipulate the default keymap. - Each preset defines 'keyconfig_data' which can be shared between presets. - Some of the utility functions for generating keymap items still need to be ported over to Python. - Some keymap items can be made into loops (marked as TODO). See: D3907
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-11-07Cleanup: Remove 'BKE_library.h' include from 'BKE_main.h'Bastien Montagne
That kind of implicit includes should really only be done when totally, absolutely necessary, and ideally only with rather simple 'second-level' headers. Otherwise not being explicit with includes always end up biting in unexpected ways...
2018-11-07Fix dpesgraph wrongly refcounting NLA strip actions when duplicating IDs.Bastien Montagne
NLA strips are users of their action, so we need to pass along ID management flags. This commit also cleans up a bit things by passing along ID_CREATE/COPY flags instead of dummy booleans...
2018-11-05Cleanup: use boolCampbell Barton
2018-11-01Fix T57553: Python operator popup size does not follow UI scale and DPI.Brecht Van Lommel
Make it the convention to multiply by scaling factor inside the function, so Python scripts that didn't add DPI scale start working correctly.
2018-10-29Dope Sheet: new option to display keyframe interpolation mode and extremes.Alexander Gavrilov
With the new automatic handle algorithm, it is possible to do a lot of the animation via keyframes without touching the curves. It is however necessary to change the keyframe interpolation and handle types in certain cases. Currently the dopesheet/action editor allows changing the types, but does not show them in any way. To fix, add a new menu option to display this information. For handle type, it is represented using the shape of the key icons: diamond for Free, clipped diamond for Aligned, square for Vector, circle for Auto Clamp, and cirle with dot for Automatic. Non-bezier interpolation is a property of intervals between keys, so it is marked by drawing lines, similar to holds. In this initial version, only the fact of non-bezier interpolation is displayed, without distinguishing types. For summaries, the line is drawn at half alpha if not all curves in the group are non-bezier. In addition, it is sometimes helpful to know the general direction of change of the curve, and which keys are extremes. This commit also adds an option to highlight extremes, based on comparing the keyed values with adjacent keys. Half-intensity display is used for overshot bezier extremes, or non-uniform summaries. Reviewers: brecht, aligorith, billreynish Differential Revision: https://developer.blender.org/D3788
2018-10-29Fix: Pose Breakdown operator (continued)Jacques Lucke
2018-10-29Fix: Pose Breakdown operatorJacques Lucke
Reviewer: brecht Differential Revision: D3848
2018-10-27Cleanup: Remove silly redundant if check in ED_armature_edit_select_pickDalai Felinto
2018-10-24Cleanup: fix compiler warnings.Brecht Van Lommel
2018-10-24Silence some false positiver warningsDalai Felinto
2018-10-20Multi-Objects: pose slide operatorsDalai Felinto
* POSE_OT_breakdown * POSE_OT_relax * POSE_OT_push * POSE_OT_propagate Note: I could not test relax because of T57313. Note 2: I believe those are the last armature related operators to be ported - \o/
2018-10-19Multi-Objects: POSE_OT_select_grouped > POSE_SEL_SAME_KEYINGSET 3/3Dalai Felinto
Note for posterity, I couldn't figure out a way to test this mode properly. That said, it should be working with multiple-poses now.
2018-10-19Multi-Objects: POSE_OT_select_grouped > POSE_SEL_SAME_LAYER 2/3Dalai Felinto
2018-10-19Multi-Objects: POSE_OT_select_grouped > POSE_SEL_SAME_GROUP 1/3Dalai Felinto
And disable the other options for now.
2018-10-19Multi-Objects: Implement/Fix POSE_OT_select_constraint_targetDalai Felinto
This operator had an initial multi-objects implementation. However it would not select target bones across different selected objects.
2018-10-19CTX_DATA_BEGIN for active object only (..._from_active_object)Dalai Felinto
For now only `selected_pose_bones_from_active_object`, more options can be added on demand. Discussed this with Campbell Barton. We may need this only for selected pose bones, time will tell.
2018-10-16Dope Sheet: rewrite computation of keyframe hold blocks.Alexander Gavrilov
Computation of hold blocks was done by storing ranges (with start and an end, and likely overlapping) in a tree keyed only by the block start. This cannot work well, and there even were comments that it is not reliable in complex cases. A much better way to deal with it is to split all ranges so they don't overlap. The most thorough way of doing this is to split at all and every known keyframe, and in this case the data can actually be stored in the key column data structures, avoiding the need for a second tree. In practice, splitting requires a pass to copy this data to newly added keys, and the necessity to loop over all keyframes in the range being added. Both are linear and don't add excess algorithmic complexity. The new implementation also calls BLI_dlrbTree_linkedlist_sync for its own needs, so the users of the *_to_keylist functions don't have to do it themselves anymore. Differential Revision: https://developer.blender.org/D3790
2018-10-13ED_pose_recalculate_paths: Run only for active objectDalai Felinto
New iterator CTX_DATA_BEGIN_FOR_ID, to restrict the loop to the specified object only. This is not super efficient, but it should be fine for now. I will talk to other developers. A more elegant solution would be to have something like "active_object_selected_pose_bones" in the context.
2018-10-13Revert "Multi-Object Pose: POSE_OT_select_parent by Harsha"Dalai Felinto
This reverts commit dcf1210c44cb1e46bf387f326c5ee9daa2a53004. In 2.79x select parent would only work for the active bone. There is no reason to have it working for multi-objects.
2018-10-13Pose path: skip time printing when not DEBUG_TIMEDalai Felinto
2018-10-12Revert "Multi-Objects: POSE_OT_paths_*"Dalai Felinto
This reverts commit 178530cc50e2fb4bd3faf4fff22392a58688bed1. Those operators are called from the UI, which only takes into consideration the active object for the parameters and whether to call reset, update or calculate. We can re-revert if needs be.
2018-10-12Multi-Objects: POSE_OT_paths_*Dalai Felinto
* POSE_OT_paths_clear * POSE_OT_paths_calculate * POSE_OT_paths_update Despite my personal opinion on the matter, those operators were listed as to be converted (see T54650). They are called from the UI, where you only see the parameters for the active object/armature. I will commit and revert soon after, so we can quickly bring it back once we re-visit this design.
2018-10-12Revert "Fix for ARMATURE_OT_layers_show_allDalai Felinto
This reverts commits: * 2a2858b30dbbc19246446bcc89a7a4e7f67c7ce0 * 7cf8eed5e02a1f6525c3df2f404cb78db24adc98 Similar to ARMATURE_OT_layers_show we should keep this operator single-object oriented. This one is a bit more tricky since we may want to quickly see all the layers of all the armatures. I will check with animators what is the best way to proceed here. But overall I think it makes sense to have this only for the active object.