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
2021-08-23Cleanup: rename parameter in transform utilityGermano Cavalcante
`inv_unit_scale` is not descriptive.
2021-08-23Fix T90872: Dopesheet messes up keyframe handlesGermano Cavalcante
Y coordinate was not being constrained. Caused by {rBb0d9e6797fb866e7a58876c7977c98a190070310}
2021-08-21Cleanup: spelling in comments & minor cleanupCampbell Barton
Also hyphenate 'mouse-move' use doxy sections in render_update.c & move function comment from the header to the source.
2021-08-20Fix T90795: Moving keys in Grease Pencil Dopesheet crashes BlenderGermano Cavalcante
`td->loc` is referenced but not initialized.
2021-08-19Fix the value in the graphical editor header when transformingGermano Cavalcante
The header did not display the actual value when transforming with snapping
2021-08-19Fix T87173: wrong Auto-Snap in animation editorsGermano Cavalcante
This was partially broken with {rBde9ea94fc6f}. The `Frame Step` and `Second Step` snapping options were working as if they were `Nearest Frame` and `Nearest Second` respectively in the `Dope Sheet` and `NLA` editors. In the `Graph Editor` the problem was more serious: "Second Step: ... The keyframe itself moves along as though in snapping were active at all, while its handles 'stay behind' until it reaches the next second boundary, at which point the teleport handles to 'catch up'". The snapping code for these modes was spread across the transform mode code and `recalcData` of each data type. Therefore, create a unified snapping code for these options so that all issues are fixed in one place. Differetial Revision: https://developer.blender.org/D12241
2021-08-19Transform Convert Action: conventionalize TransData creationGermano Cavalcante
`td2d->loc`, `td2d->loc2d`, `td->loc` and `td->iloc` were not being initialized as is done with the other conversion types. This avoids problems with transform modes becoming incompatible. This avoids problems with incompatible transform modes that could result in a crash.
2021-08-19Fix incremental snap in animation editorsGermano Cavalcante
Animation editors have their own snap types and incremental is not supported.
2021-08-19Cleanup: move animation snap utilities to a separate compilation unitGermano Cavalcante
The snap functions of animation editors were scattered in `transform_mode` and `transform_snap`.
2021-08-17Cleanup: move 'recalcData' to 'transform_convert.h'Germano Cavalcante
The `recalcData` function is defined in `transform_convert.c`, so the header is most expected to be `transform_convert.h`.
2021-08-17Fix wrong Anim Auto-Snap Ctrl togglePhilipp Oeser
This was not working like elsewhere in both NLA and Graph Editor (meaning that when snapping was already enabled, {key Ctrl} during transform did not disable it). Now use getAnimEdit_SnapMode() for this in NLA and GE as well. Maniphest Tasks: T87173 Differential Revision: https://developer.blender.org/D12244
2021-08-12Cleanup: use C++ style comments for disabled codeCampbell Barton
2021-08-06Fix T90477: Cursor vertex snapping not working in UV editorGermano Cavalcante
`t->obedit_type` is read to indicate if we are in uv edit mode. Also fixes a crash introduced in {rBdd14ea18190ff27082009f73a556569a43377a71}.
2021-08-05Action Constraint: add Split Channels Mix choices from Copy TransformsAlexander Gavrilov
Practice shows that when combining actions and direct animation it is usually best to combine location, rotation and scale separately, which is implemented by the Split Channels modes recently introduced in D9469 for Copy Transforms. This completes the same set of 6 choices for the Action Constraint. The default for new constraints is changed to the newly added Before Original (Split Channels) mode. The original patch is motivated by Loic Pinsard, who created an addon that does the equivalent of this feature by splitting the action into two, separating location and rotation+scale. Differential Revision: https://developer.blender.org/D7547
2021-08-05Cleanup: remove redundant parenthesisCampbell Barton
2021-08-04Cleanup: rename restrict to hide/visibility in Object, Collection, MaskLayerBrecht Van Lommel
This makes the internal naming consistent with the public API. And also gives us a visibility_flag rather than restrictflag that can be extended with more flags.
2021-08-03Fix T90313: Align to Transform Orientation Axis Property Doesn't WorkGermano Cavalcante
`Orientation Axis` is a property incompatible with `Align` mode and should not be visible.
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-26VSE: Fix snapping bugsRichard Antalik
Fix hold offset check causing missing snapping point when strip have only still frames. Fix effect strips of transformed strips causing snapping to prevoius strip positions. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11948
2021-07-24UI: Do not abbreviate/shorten wordingAaron Carlisle
Abbreviations are harder to read and understand thus it is best to be direct. For example without understanding and context it is hard to know exactly what "Len" means.
2021-07-23Cleanup: code comments punctuation / spacingCampbell Barton
2021-07-20Cleanup: use single back-tick quoting in commentsCampbell Barton
While doxygen supports both, conform to our style guide. Note that single back-tick's are already used in a majority of comments.
2021-07-20Cleanup: quiet GCC maybe-uninitialized warningCampbell Barton
Function signatures for snap callbacks used `const` incorrectly which was hidden by casting function types. This made it seem as if the input arguments wouldn't be change and wouldn't be initialized. Name return arguments with an `r_` prefix, order them last, remove function casts and correct `const` usage.
2021-07-19Revert "Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'"Germano Cavalcante
This reverts commits bfa3dc91b75407b063f2ac991b176d98c050f92d, 52b94049f2a71a74f52247f83657cf3a5c8712b4, ae379714e4f1eca74f5f77532a6e959f29445236, a770faa811ee62837eb540b0bd83ca0770f16663, 4ed029fc02b022cb5ff28ed3ce70992c450d2be5, 101a493ab556c6597ac91fba204059be67b35990 and 62a2faa7ef39130446716d7a06215cd1df1eb2ac. And fixes T89955. Changing the dependency graph is a can of worms and the result is a kind of unpredictable. A different solution will be planned.
2021-07-16Fix T89722: Duplicate macro can cause strips to overlapRichard Antalik
Bug caused by 78693d524c13 accidentally removing overlap handling when transform operator is canceled. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D11899
2021-07-16Cleanup: remove redundant parenthesesCampbell Barton
2021-07-15Cleanup: replace BLI_assert(!"text") with BLI_assert_msg(0, "text")Campbell Barton
This shows the text as part of the assertion message.
2021-07-14Fix T89826: VSE snapping with constrained axisRichard Antalik
Constraining to X axis caused snapping to not work at all. Constraining to Y axis caused snapping indicator to be drawn, when snapping doesn't occur. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11898
2021-07-14Transform: Identify more safely when the mesh is deform onlyGermano Cavalcante
Depending on the modifiers, geometry can be destructive which is not safe.
2021-07-13Fix 'Correct Face Attributes' optionGermano Cavalcante
With this option enabled, updating the geometry is no longer deform only.
2021-07-13Cleanup: replace BKE_customdata.h in BKE_editmesh.hCampbell Barton
Only DNA_customdata_types.h is needed for BMEditMesh.
2021-07-13Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'Germano Cavalcante
During a mesh transformation in edit mode (Move, Rotate...), only part of the batch cache needs to be updated. This commit allows only update only the drawn batches seen in `BKE_object_data_eval_batch_cache_deform_tag` if the new `ID_RECALC_GEOMETRY_DEFORM` flag is used. This new flag is used in the transforms operation for edit-mesh and results in 1.6x overall speedup in heavy subdiv cube. Differential Revision: https://developer.blender.org/D11599
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-07-05Cleanup: spelling, punctuationCampbell Barton
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-07-02Cleanup: Further use of const when accessing evaluated meshHans Goudey
Also resolve a warning from the previous commit. The next blocker to using const is `BKE_mesh_wrapper_ensure_mdata`.
2021-07-02Copy Transforms: implement Remove Target Shear and more Mix options.Alexander Gavrilov
This constraint can be naturally viewed as a prototype for a future 4x4 matrix math node (or subset thereof), since its basic semantics already is matrix assignment. Thus it makes sense to add math options to this constraint to increase flexibility in the meantime. This patch adds support for several operations that would be useful: - An option to remove shear in the incoming target matrix. Shear is known to cause issues for various mathematical operations, so an option to remove it at key points is useful. Constraints based on Euler like Copy Rotation and Limit Rotation already have always enabled shear removal built in, because their math doesn't work correctly with shear. In the future node system shear removal would be a separate node (and currently Limit Rotation can be used as a Remove Shear constraint). However removing shear from the result of the target space conversion before mixing (similar to Copy Rotation) has to be built into Copy Transforms itself as an option. - More ways to combine the target and owner matrices. Similar to multiple Inherit Scale modes for parenting, there are multiple ways one may want to combine matrices based on context. This implements 3 variants for each of the Before/After modes (one of them already existing). - Full implements regular matrix multiplication as the most basic option. The downside is the risk of creating shear. - Aligned emulates the 'anti-shear' Aligned Inherit Scale mode, and basically uses Full for location, and Split for rotation/scale. (This choice already existed.) - Split Channels combines location, rotation and scale separately. Looking at D7547 there is demand for Split Channels in some cases, so I think it makes sense to include it in Copy Transforms too, so that the Mix menu items can be identical for it and the Action constraint. Differential Revision: https://developer.blender.org/D9469
2021-07-01Fix memory leak in VSE transform codeRichard Antalik
SeqCollection wasn't freed. It wasn't easy to find culprit so added argument to SEQ_collection_create() to pass function name. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11746
2021-07-01VSE: Snapping feedbackRichard Antalik
Address initial feedback: - Use checkboxes instead of radio buttons - Hide snapping distance control from UI - Tweak snapping line color - use selected strip color, 50% transparency. Similar to other editors - Draw 2px thick line, since strip outline is also 2px thick Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D11759
2021-07-01Fix edit-mesh partial update regression when snapping to normalsCampbell Barton
Edit-mesh partial update logic assumed translate didn't need normals to be recalculated (for faces with all vertices being transformed). However translate can optionally rotate which requires all transformed normals to be updated. Check for this case and use the previous partial-update method when it modified extra geometry, so the normals are properly reset. Further updates need not recalculate them.
2021-07-01Cleanup: replace booleans with enum for storing translate rotationCampbell Barton
2021-07-01Correction to T89571 fix 4546f176eb0f822048b53766f2e97c5a4cbf53c6Campbell Barton
Supporting both object & edit-mode is more involved. Both cases are now supported with object mode tracking the last-used state for rotation so it's only reset once when rotation is disabled.
2021-07-01Fix T89571: Align Orientation to Target keeps rotation when toggledCampbell Barton
2021-07-01Cleanup: rename playhead to current-frameCampbell Barton
2021-07-01Cleanup: outdated IPO references in commentsCampbell Barton
2021-06-30Cleanup: store the result of isLockConstraint for reuseCampbell Barton
This was being called for every element in some situations.
2021-06-30Cleanup: rename transform mode variablesCampbell Barton
Use the term 'mat_final' for calculated matrices used for transforming. Also rename 'pivot' to 'pivot_local'.
2021-06-30Transform: support multi-threading for bendCampbell Barton
2021-06-30Transform: support multi-threading for most modesCampbell Barton
Multi-threading support for transform modes: bevel-weight, crease, push-pull, rotate, shear, shrink-fatten, skin-resize, to-sphere, trackball & translate. This is done using a parallel loop over transform data. From testing a 1.5million polygon mesh on a 32 core system the overall performance gains were between ~20-28% To ensure the code is thread-safe arguments to shared data are const. Reviewed By: mano-wii