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-11BMesh: add UV calculate center callCampbell Barton
Move uv_poly_center to BM_face_uv_calc_center_median as it was only defined in uvedit_intern.h
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-04Fix (unreported): Bevel tool custom profile uses wrong segments numberHans Goudey
The bevel code initialized the CurveProfile with the "higher power of 2" segments after the normal number of segments, leaving the widget in an incorrect state after the calculation. A simple fix is to re-order the initializations, doing the input number second.
2020-08-03Fix T79482: Triangulate quads with 'Beauty' can make zero area facesCampbell Barton
2020-07-30Fix T79369: BMesh.calc_volume() gave incorrect resultCampbell Barton
2020-07-23Fix T29189 bevel crash.Howard Trickey
New code to calculate UV islands made an incorrect assumption about maximum stack size.
2020-07-21Bevel: Refactor "Vertex Only" to an enumHans Goudey
This matches the change that was done to the bevel modifier so that the interface for the modifier, the active tool, and the operator are consistent. This commit extends the refactor to the bmesh implementation too, so that the parameters in the implementation don't stray too far from what is exposed. Tests are adjusted and still pass.
2020-07-21UV: remove selection threshold for nearby coordinatesCampbell Barton
Internally UV selection considered close UV's to be connected. While this could be convenient in some cases, it complicates logic for more advanced selection operations that need to check when UV's should be considered part of the same vertex since simple threshold checks would give different results depending on the order of UV's tested. Users must now run "Merge by Distance" instead of relying on this selection threshold.
2020-07-20Fix T78733 Bevel sometimes produces zero-area UV face with odd segments.Howard Trickey
A bug introduced when I made the choice of interpolation face cleverer.
2020-07-18BMesh: utility for checking shared edge with limit argumentCampbell Barton
2020-07-15UV: support region fill for path selectCampbell Barton
This matches edit-mesh region selection (Ctrl-Shift-Select).
2020-07-14Cleanup: sort header, cmake pathsCampbell Barton
2020-07-14Cleanup: spellingCampbell Barton
2020-07-13Fix Extrude Manifold losing original UVGermano Cavalcante
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-10Fix T78766: Blender crashes after deleting vertices with Custom Normals.Bastien Montagne
Some core BMesh topology changing functions were not properly tagging custom normal runtime caches as dirty...
2020-07-10Cleanup: clang-formatCampbell Barton
2020-07-10Fix BM_loop_at_index_find lookupCampbell Barton
2020-07-10Fix missing adjacent UV check for recent UV path selectCampbell Barton
Path selection could cross UV islands if the destination element was on an island boundary.
2020-07-10Cleanup: spellingCampbell Barton
2020-07-10Cleanup: use FLT_MAX for the maximum path selection costCampbell Barton
A large number below FLT_MAX was used to avoid overflow, however this doesn't cause any problems.
2020-07-10Cleanup: variable names, use define for maximum path costCampbell Barton
2020-07-09UV: path selection supportCampbell Barton
This adds support for path selection for vertex edge & face selection modes, matching mesh editing behavior, useful with the UV rip tool. Region select & edge tagging are currently not supported, although they could be added eventually.
2020-07-09BMesh: add utility functionsCampbell Barton
- BM_edge_uv_share_vert_check - BM_face_uv_calc_center_median_weighted - BM_loop_at_index_find
2020-07-09Cleanup: move BMesh UV queries into their own fileCampbell Barton
2020-07-07Cleanup: use doxy commentsCampbell Barton
2020-07-06Cleanup: warning, spellingCampbell Barton
2020-07-06Fix faces disappearing when AutoMerge & SplitGermano Cavalcante
2020-07-06BMesh: add BM_face_calc_uv_crossCampbell Barton
2020-07-06BMesh: add BM_loop_other_vert_loop_by_edgeCampbell Barton
2020-07-03Cleanup: Unused variables in non-debug buildHans Goudey
2020-07-03Cleanup: BMesh, 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/bmesh` module. No functional changes.
2020-07-02Cleanup: spellingCampbell Barton
2020-07-01Transform: generalized custom-data correction supportGermano Cavalcante
Support custom-data correction based on surrounding geometry for all transformation modes of the mesh transform operators. The is the same logic used in Vert and Edge Slide. In order not to change the current default behavior, this property does not affect Vert and Edge Slide modes.
2020-07-01Cleanup: spellingCampbell Barton
2020-06-26Cleanup: Fix strict compiler warning about variable shadowingSergey Sharybin
Thanks Howard for double-checking!
2020-06-26Fixed typo in previous commit (UV fix); had nonsensical self-test.Howard Trickey
2020-06-26Fix T76199 Bevel materials "bleed" over faces.Howard Trickey
When there is an odd number of segments, bevel has an ambiguous choice as to which side face to use to copy face attributes from and to use for UV (and other loops that have math function) interpolation. We used to make choice arbitrarily, which led to visually inconsistent results. Now there is tie-breaking code, face with lexicographic lowest value in vector with these elements: (1) connected component (in math-layer space) id (2) selected (0) vs unselected (1) (3) material index (4,5,6): z,x,y components of face center, in that order.
2020-06-25Cleanup: spellingCampbell Barton
2020-06-23Cleanup: A few small comment & naming changes in bevelHans Goudey
2020-06-23Bevel: Refactor profile type input to use an enumHans Goudey
This will allow the easier addition of a constant radius mode in the future and some changes in the UI to mirror the recent similar change from "Only Vertices" to the "Affect" enum.
2020-06-20Bevel: add new 'Absolute' mode for interpreting 'amount' value.Howard Trickey
This mode is like Percent, but measures absolute distance along adjacent edges instead of a percentage. So, for example, if you use this mode with 2 segments and profile=1, you will see the length that the bevel moves along unbeveled edges between beveled ones will match the value specified. Many users seem to expect this behavior, even though it means the bevel width is uneven, so this option is for them.
2020-06-17Fix T70287: Connect vertex path can create duplicate edges/facesCampbell Barton
2020-06-17Cleanup: doxy commentsCampbell Barton
2020-06-10Mesh Edit: preserve Custom Normal vectors in topology operators.Alexander Gavrilov
Custom Loop Normals are normally encoded relative to the default normals, similar to normal maps, allowing them to naturally follow mesh deformations. Changes to mesh topology however often result in nonsensical effects that are not desired. The Remove Doubles operation especially (now known as Merge By Distance) is intended as a purely topological operation, and definitely should not change the vector of the custom normals. This patch implements that behavior by converting the relative encoding into an absolute vector layer for the duration of the operation. It also modifies other Merge types in this way for consistency, the Rip operator as their inverse counterpart; and also Delete, Dissolve, Connect Path and Knife operators as other examples more related to topology than shape. On the technical side, this ports mesh_normals_loop_custom_set to BMesh, and then uses a temporary Custom Data layer to store the normals as vectors for the duration of the above mentioned operations. When the normals are converted back to custom data, the caller can choose whether to mark edges as sharp to preserve distinct normals, or just average them instead. All but Remove Doubles choose to average for now. Differential Revision: https://developer.blender.org/D4994
2020-06-10Cleanup: improve custom data type namesJacques Lucke
This is related to T76659. This just renames data type names to `CD_PROP_STRING`, `CD_PROP_FLOAT` and `CD_PROP_INT32`. It makes them a bit more specific and removes unnecessary abbreviations. Reviewers: brecht Differential Revision: https://developer.blender.org/D7980
2020-06-05Cleanup: rename suffix 'conv' to 'convert'Campbell Barton
2020-06-02Merge branch 'blender-v2.83-release'Campbell Barton
2020-06-02Fix T76533: Gizmo uses active face center in edge selection modeCampbell Barton
Only use the active face when it's selected.
2020-05-28Fix cone primitive creating duplicate verticesCampbell Barton
Using remove double wasn't reliable as the matrix argument could cause vertices to be further apart than the threshold allowed for. This happened when adding cones using the new add tool.