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-03Cleanup: use C++ comments or 'if 0' for commented codeCampbell Barton
2021-07-26Cleanup: spelling in commentsCampbell Barton
2021-07-25Fix T86768, bevel doesn't loop slide sometimes.Howard Trickey
Six years ago, Bug T44961 about unwanted spikes had me not do a loop slide if the angle was too extreme, to avoid unwanted spikes. The current bug showed that that angle was much too big, and limited desired behavior in many cases. Changing the angle from 0.25 radians to 0.0001 radians (about 0.006 degrees) still fixes the original bug and seems very unlikely to be limiting desired behavior now.
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-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-28Cleanup: repeated terms in code comments & error messagesCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-13Cleanup: redundant initializationCampbell Barton
These were limited to obvious cases. Some less obvious cases were kept as refactoring might make them necessary in future.
2021-03-20Bevel code: add a null pointer check.Howard Trickey
2021-02-28Fix T86082 Bevel messed up UVs on some multisegment bevels.Howard Trickey
When polygons around a bevel are rebuilt, sometimes UVs are merged around a new vertex in the case of the face opposite a single edge being beveled on a 3-edge vertex. This should not have been done if any of the edges at that vertex were a seam.
2021-02-13Cleanup: macro hygiene, use parenthesis around operatorsCampbell Barton
2021-02-09Cleanup: spellingCampbell Barton
2021-02-07Fix T84493 et al: New Boolean on Suzanne.Howard Trickey
While Boolean is not guaranteed to work if the operands are not volume-enclosing (technically: PWN - piecewise constant winding number), it needs to do something in those cases. This change makes more cases meet user expectations in T84493, T64544, T83403, T82642 (though very slow on that one). The original new boolean code used "generalized winding number" for this fallback; replaced this with code that uses raycasting. Raycasting would have been faster, but for unfortunately also switchd to per-triangle tests rather than per-patch tests since it is possible (e.g., with Suzanne) to have patches that are both inside and outside the other shape. That can make it much slower in some cases, sadly.
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-30Fix T84465 Bevel Percent and Absolute when limit type is Weight.Howard Trickey
The previous fix to the width modes Percent and Absolute did not take into account that with limit mode Weight, the amount needs to be scaled by the bevel weight of the beveled edge in question. (Sometimes there are two beveled edges in question, in which case an average is used.)
2021-01-24Cleanup: spellingCampbell Barton
2020-11-12Merge branch 'blender-v2.91-release'Howard Trickey
2020-11-12Fix T80475, bad bevel: side vertex in bad plane in some cases.Howard Trickey
Needed a better normal to for plane to offset into when there are non in-plane edges between two beveled edges. It was using the vertex normal, which is just wrong. Differential Revision: https://developer.blender.org/D9508
2020-11-06Cleanup: Use descriptive variable namesHans Goudey
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-11-03Cleanup: Use typedef for bevel angle kind enumHans Goudey
This makes debugging slightly easier, and makes the code slightly more explicit about its intentions.
2020-11-03Fix T82120: Arc miter bevel creates miters on straight edgesHans Goudey
In some situations where two beveled edges were very close to in-line but not quite straight, bevel would build a miter when it shouldn't. The code that chose whether to use a miter at each vertex was slightly incorrect. For outer miters there is a check for 3 or more selected edges, but an inner miter can still be useful with only two beveled edges at a vertex, so we can't use that here. Instead I changed the check for in-line edges to run before determining whether the angle is reflex or not. The logic ends up a bit more straightforward as well. This doesn't completely remove the rather strange looking triangle vertex meshes at each corner, but it does make it stable when locations are slightly adjusted. The only other place this `edges_angle_kind` function was used is for profile=1.0 vertex meshes. I tested and made sure that still works well. Differential Revision: https://developer.blender.org/D9420
2020-10-24Fix T81884, clamping with percent, addendum.Howard Trickey
The previous fix forgot the case where there is an intermediate edge and everything isn't in one plane. Differential Revision: https://developer.blender.org/D9336
2020-10-19Silence an unused variable warning in bmesh_bevel.c.Howard Trickey
2020-10-19Cleanup: clang tidyJacques Lucke
2020-10-18Fix Bevel percent mode, and clamping for it too (T79898).Howard Trickey
The code for Bevel's percent (and absolute) modes were pretty bogus. It assumed, like the rest of the modes, that the offset lines are parallel to the beveled edge. Which is not true for these modes, though it accidentally works sometimes if the legs are equilength. Also the clamping code for those modes was completey wrong. It is too hard to really fix the clamping code for absolute mode, but it is a little better now. Percent mode clamping is fixed.
2020-08-11Cleanup: Reduce indentation levelHans Goudey
Check the simpler case first and return early.
2020-08-11Cleanup: Remove unecessary variablesHans Goudey
2020-08-11Cleanup: Use sizeof first in allocationsHans Goudey
2020-08-11Cleanup: Reduce indentation levelHans Goudey
Exit early if the bevel width is zero instead of putting the main function in an if statement.
2020-08-11Cleanup: Reduce scope of variable declarations in bmesh_bevel.cHans Goudey
This commit generally moves variable declarations to the smallest scope the variables are used in. This makes the code more readable by making it clearer when variables are used and by removing the block of variable declarations at the top of each function.
2020-08-11Cleanup: spellingCampbell Barton
2020-08-08Cleanup: use array syntax for sizeof with fixed valuesCampbell Barton
Also order sizeof(..) first to promote other values to size_t.
2020-08-07Cleanup: pass arrays const where possibleCampbell Barton
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-08-04Cleanup: Bevel: Split two case for loop into separate functionHans Goudey
Previously a for loop with two iterations was used to calculate the 3D segment locations for the input number and the higher power of 2. Splitting off the inside of the for loop to a separate function makes the code more readable. This commit also includes a simple timer for bevel, enabled with a define. Interestingly, the cleanup in this commit happended to give a 3% speedup on a Ryzen 3700x for a bevel calculation with 64 segments.
2020-08-04Merge branch 'blender-v2.90-release'Hans Goudey
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-04Cleanup: Reduce indentation in functionHans Goudey
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-23Fix T29189 bevel crash.Howard Trickey
New code to calculate UV islands made an incorrect assumption about maximum stack size.
2020-07-23Fix T79189 bevel crash.Howard Trickey
New code to calculate UV islands made an incorrect assumption about the maximum size of a stack.
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-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-14Cleanup: spellingCampbell 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-01Cleanup: spellingCampbell Barton
2020-06-26Cleanup: Fix strict compiler warning about variable shadowingSergey Sharybin
Thanks Howard for double-checking!