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-11-07Fix strict compiler warningsSergey Sharybin
2022-11-07Cleanup: remove unused variableCampbell Barton
2022-11-07Fix 'ED_transform_snap_object_project_ray_all' not return 'hit_list'Germano Cavalcante
Missed in rBff4f14b21a42.
2022-11-07Fix T102053: snap fails with instances of geometry nodesGermano Cavalcante
As instances are often generated geometries, we cannot rely on the data provided by `DupliObject::ob`. Use `DupliObject::ob_data` when possible. This required a major refactor in the code as the output variables are now gathered in context and easier to access.
2022-11-07Fix potentially uninitialized memory usageGermano Cavalcante
`nearest_world_tree_co` allows null parameter, so the `index` variable isn't really needed and doesn't even need to be initialized.
2022-11-07Transform: remove SnapData cache for meshesGermano Cavalcante
All cache needed is already stored in `Mesh.runtime`.
2022-11-02Refactor: Rename Object->imat to Object->world_to_objectSergey Sharybin
The goal is to improve clarity and readability, without introducing big design changes. Follows the recent obmat to object_to_world refactor: the similar naming is used, and it is a run-time only rename, meaning, there is no affect on .blend files. This patch does not touch the redundant inversions. Those can be removed in almost (if not all) cases, but it would be the best to do it as a separate change. Differential Revision: https://developer.blender.org/D16367
2022-11-01Refactor: Rename Object->obmat to Object->object_to_worldSergey Sharybin
Motivation is to disambiguate on the naming level what the matrix actually means. It is very easy to understand the meaning backwards, especially since in Python the name goes the opposite way (it is called `world_matrix` in the Python API). It is important to disambiguate the naming without making developers to look into the comment in the header file (which is also not super clear either). Additionally, more clear naming facilitates the unit verification (or, in this case, space validation) when reading an expression. This patch calls the matrix `object_to_world` which makes it clear from the local code what is it exactly going on. This is only done on DNA level, and a lot of local variables still follow the old naming. A DNA rename is setup in a way that there is no change on the file level, so there should be no regressions at all. The possibility is to add `_matrix` or `_mat` suffix to the name to make it explicit that it is a matrix. Although, not sure if it really helps the readability, or is it something redundant. Differential Revision: https://developer.blender.org/D16328
2022-11-01Cleanup: spelling in commentsCampbell Barton
2022-11-01Cleanup: doxy comment formattingCampbell Barton
2022-10-31Fix variable value assigned twice in successionGermano Cavalcante
Error introduced in rBa7aa0f1a0c24 Mentioned in https://pvs-studio.com/en/blog/posts/cpp/1004/ It could cause the absolute snap to the y direction to fail in some editor.
2022-10-24Cleanup: quiet parentheses warningCampbell Barton
2022-10-24Transform: limit zero radius Shrink/Fatten to only 1 curve pointGermano Cavalcante
rBb70bbfadfece allowed scaling of zero-radius points, but as it behaves differently from other radius, it may not be suitable for multi-point transformation.
2022-10-23Fix large incremental snap values in uv editorGermano Cavalcante
Regression in rBa7aa0f1a0c24. The default values of `t->snap` have been changed.
2022-10-23Fix T102000: Curve Shrink Fatten doesn't work for zero radiusGermano Cavalcante
Kind of intentional regression on rB2d1fe736fabd. But the solution now is (theoretically) better than adding a hard coded threshold. For cases with zero radius, the new radius is now the offset of the ratio projected onto the plane of the origin point.
2022-10-22Cleanup: clang-formatLukas Stockner
2022-10-22Transform: remove unreachable codeGermano Cavalcante
The node grid snap only works with 2D coordinates, no transformation matrix and no Objects. Also rename `applyGridAbsolute` to `node_snap_grid_apply`.
2022-10-22Cleanup: move grid snap functions to files where they are usedGermano Cavalcante
2022-10-22Fix T101991: "Absolute Grid Snap" not workingGermano Cavalcante
Error introduced in rB1edebb794b76. In that commit it was kind of forgotten that the snap to grid is also used in 3D views. Also a refactoring and cleanup was applied to simplify the code.
2022-10-21Fix T101964: Edge and face snapping no locking to axisGermano Cavalcante
In rBed6c8d82b804 it was wrongly assumed that the constraint functions always apply the transformations. But that is not the case for when axes are aligned. The `mul_m3_v3(t->con.pmtx, out)` fallback is still required.
2022-10-20Fix T101907: restore snapping in node editorChris Blackbourn
Regression from 1edebb794b76
2022-10-19Fix T101928: transform operator properties saving wrong snap valuesGermano Cavalcante
The check for the flags should be `== 0` since they are describing a negative state. Thanks to @lone_noel for pointing out the error.
2022-10-18Fix T101893: Auto merge affecting edge crease and bevel weightGermano Cavalcante
None of the special transformations in `special_aftertrans_update__mesh` are really applicable or useful for edge crease and bevel weight.
2022-10-18UV: support snapping on non-uniform gridsChris Blackbourn
Part of a wider set of changes to Grid and Pixel snapping in the UV Editor. This change fixes snapping behavior for non-uniform grids, either manually specified Fixed grids, or pixel grids where the underlying image is non-square. See a24fc6bbc1ae for visual changes. Maniphest Tasks: T78391 Differential Revision: https://developer.blender.org/D16275
2022-10-13Cleanup: Use std::mutex for mesh runtime mutexesHans Goudey
Instead of allocating three separate ThreadMutex pointers, just embed std::mutex into the struct directly.
2022-10-13Mesh: Move runtime data out of DNAHans Goudey
This commit replaces the `Mesh_Runtime` struct embedded in `Mesh` with `blender::bke::MeshRuntime`. This has quite a few benefits: - It's possible to use C++ types like `std::mutex`, `Array`, `BitVector`, etc. more easily - Meshes saved in files are slightly smaller - Copying and writing meshes is a bit more obvious without clearing of runtime data, etc. The first is by far the most important. It will allows us to avoid a bunch of manual memory management boilerplate that is error-prone and annoying. It should also simplify future CoW improvements for runtime data. This patch doesn't change anything besides changing `mesh.runtime.data` to `mesh.runtime->data`. The cleanups above will happen separately. Differential Revision: https://developer.blender.org/D16180
2022-10-12Cleanup: Simplify node insert after drag codeHans Goudey
- Give functions and variables more descriptive names - Use references for arguments - Use tree topology cache to avoid iterating over all links - Group related code together
2022-10-12Cleanup: use commented arguments for unused args in C++Campbell Barton
2022-10-12Cleanup: Convert two nodes files to C++Hans Goudey
2022-10-11Fix T101709: Proportional editing being disabled in NLA Editor redo panelGermano Cavalcante
Do not save the "use_proportional_edit" property if it is not supported. This prevents it from being automatically disabled. And hide "use_proportional_edit" in `SPACE_NLA`
2022-10-10Cleanup: NLA transforms, simplify `recalcData_nla()`Thibault de Villèle
Refactor the `recalcData_nla()` function, which takes data from the transform system and updates NLA strips, such that the actual logic to change the strip is moved into its own function. This also moves some generic code (find prev/next strip) from that function to BKE. This is to make the code easier to adjust when different transform operations need to perform different modifications of the strip (i.e. to fix T101130). Manifest Task: T101130 Reviewed By: sybren Differential Revision: https://developer.blender.org/D16181
2022-10-07Cleanup: redundant parenthesisCampbell Barton
2022-10-05Cleanup: make formatBrecht Van Lommel
2022-10-04Cleanup: VSE code readabilityRichard Antalik
Add function `SEQ_time_content_end_frame_get` to get content end frame. New function is shorthand for `SEQ_time_start_frame_get() + SEQ_time_strip_length_get()`.
2022-10-04Cleanup: correct argument size for plane in planeProjectionCampbell Barton
2022-10-04Cleanup: replace UNUSED macro with commented args in C++ codeHans Goudey
This is the conventional way of dealing with unused arguments in C++, since it works on all compilers. Regex find and replace: `UNUSED\((\w+)\)` -> `/*$1*/`
2022-09-29Cleanup: Simplify code and remove duplicationsAntonio Vazquez
This commit simplify the previous fix for T101455 f6c2f1c65e146bf20b9182f275b67c747d9e2990
2022-09-29Fix T101455: GPencil Gizmo in wrong location when using Active ElementAntonio Vazquez
The gizmo was not set when this option was selected. By design, in grease pencil the active element option uses the object origin as pivot point.
2022-09-29Sculpt: Normal-based automasking modesJoseph Eagar
Two new normal-based automasking modes. The first mode, "brush", compares vertex normals with the initial normal at the beginning of the brush stroke. The second, "view", compares vertex normals with the view normal. If "occlusion" is on then rays will be shot from each vertex to test if it is occluded by other geometry (note: this can be very slow).\ Only geometry inside the sculpt mesh is considered. Each mode has an associated angular limit and a falloff. Reviewed by: Julien Kaspar and Jeroen Bakker Differential Revision: https://developer.blender.org/D15297 Ref D15297
2022-09-27Fix T101393: Vertex Crease operator does not create vertex crease layerPhilipp Oeser
Typo in rBa8a454287a27 (created layer on edge data instead of vertex data). Maniphest Tasks: T101393 Differential Revision: https://developer.blender.org/D16079
2022-09-26Fix build errors and warnings after recent changes, when not using Unity buildBrecht Van Lommel
2022-09-26Fix typo and and incorrect property initializationGermano Cavalcante
Error in rB236fda7faf58
2022-09-26Fix T101343: useless Snapping menu in transform operatorsGermano Cavalcante
Changes: - Use the "snap_elements" property only for operators that support snapping to geometry. - Remove unused properties: - "use_snap_to_same_target", - "snap_face_nearest_steps"). - Fix property with wrong name "use_snap_selectable_only" -> "use_snap_selectable" - Fix use of dependent property flags. - Remove redundant initialization of variables - Simplify `poll_propety`. Only the "use_snap_project" is not hidden. >>! In rBc484599687ba it's said: > These options are needed for Python tools to control snapping without requiring the tool settings to be adjusted. If that's the case, there doesn't seem to be any need to display them in the redo panel. Therefore: - Hide snapping properties in redo panel. Many properties have been added that can be independent of ToolSettings. Therefore: - Save snapping properties in the operator itself. For Redo.
2022-09-26Cleanup: remove redundant parenthesisCampbell Barton
2022-09-25Cleanup: replace C-style casts with functional casts for numeric typesCampbell Barton
2022-09-25Cleanup: remove redundant double parenthesisCampbell Barton
2022-09-23Mesh: Move edge crease out of MEdgeHans Goudey
This is very similar to D14077. There are two differences though. First is that vertex creases are already stored in a separate layer, and second is that we can now completely remove use of `Mesh.cd_flag`, since that information is now inherent to whether the layers exist. There are two functional differences here: * Operators are used to add and remove layers instead of a property. * The "crease" attribute can be created and removed by geometry nodes. The second change should make various geometry nodes slightly faster, since the "crease" attribute was always processed before. Creases are now interpolated generically in the CustomData API too, which should help maintain the values across edits better. Meshes get an `edge_creases` RNA property like the existing vertex property, to provide more efficient access to the data in Cycles. One test failure is expected, where different rounding between float the old char storage means that 5 additional points are scattered in a geometry nodes test. Differential Revision: https://developer.blender.org/D15927
2022-09-23Cleanup: use ELEM macroCampbell Barton
2022-09-21Cleanup: unused variable warningCampbell Barton
2022-09-20Fix T101220: UV proportional editing not working correctly with UV Sync ↵Germano Cavalcante
Selection Regression introduced in rb2ba1cf4b40fc. The `MLOOPUV_VERTSEL` flag only indicates UV selection without sync.