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-05-07Fix T75793: Mirror modifier UV flip only works on first UDIM TilePhilipp Oeser
Was flipping around the 0-1 range, now (optionally) flip around each tile. Also added this option for BMesh bmo_mirror. Reviewed By: campbellbarton Maniphest Tasks: T75793 Differential Revision: https://developer.blender.org/D7460
2020-04-24Fix T75946: Intersect (knife) doesn't cut all intersectionsCampbell Barton
2020-04-24Fix T63787: Knife intersect crashesCampbell Barton
2020-04-24Cleanup: correct printf warnings for bmesh interesect debuggingCampbell Barton
2020-04-22Fix T75994: Crash with 'Split Edges and Faces' | Auto-MergeGermano Cavalcante
It occurred when an edge was collapsed into a vert that was not part of it. This is common when the distance for merging is relatively large.
2020-04-08Fix T67098: Inset causes shape keys to reset exiting edit-modeCampbell Barton
Edit-mesh interactive redo reset the meshes shape-key index. Also copy the selection mode when copying meshes.
2020-04-07Fix T74720: bmesh.ops.delete default context argument does nothingmano-wii
2020-04-07Fix T75128: Select Linked fails when the selection is a delimiterCampbell Barton
Starting select linked failed when the selected vertex or edge was it's self delimiting. Support using these elements for linked select as long as they're part of an isolated selection.
2020-04-07Cleanup: remove unused BM_total_loop_select functionCampbell Barton
2020-04-06Fix displaying edit-mesh measurements with deform modifiersCampbell Barton
Resolves regression from 2.7x
2020-04-05Cleanup: use const for 'clnors' argument where possibleCampbell Barton
2020-04-05Cleanup: macro hygiene, parenthesize argumentsCampbell Barton
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-03-29Fix T72075: Incorrect Grid Fill error messageCampbell Barton
2020-03-23Fix possible endless loop in Auto Merge & SplitGermano Cavalcante
2020-03-20Cleanup: clang-format, comment indentationCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-15Cleanup: add parens for clarityCampbell Barton
2020-03-15Cleanup: redundant checksCampbell Barton
In some cases moved the checks into asserts, to ensure changes in the future don't cause the checks to become necessary again.
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-06Cleanup: use 'BKE_' prefix for BKE_deform API callsCampbell Barton
- Use 'BKE_object_defgroup' prefix for object functions. - Rename 'defvert_verify_index' to 'defvert_ensure_index' since this adds the group if it isn't found.
2020-03-06Cleanup: use MEM_recallocN_idCampbell Barton
2020-03-02Bevel: Z-Up Custom Profile OrientationHans Goudey
When beveling architectural objects like baseboards or crown mouldings that may consist of multiple islands, it's useful if the orientation is at least conistent. This changes the arbitrary decision of how the orientation should start at a chain beginning to use the highest side of the profile in the Z direction. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6946
2020-02-28Fix T74256, crash in bmesh.ops.bevel if segments not set.Howard Trickey
Also changed signature of bevel function to take integer for segments instead of float, which is just wrong.
2020-02-26Cleanup: reduce CDDM use, remove unused function callsCampbell Barton
2020-02-20Fix missing error message on convex hull failureCampbell Barton
Also remove unused errors.
2020-02-15Fix T58571: Limited dissolve ignores boundaries between delimited facesCampbell Barton
When a vertex between two edges is being collapsed, it's important that edges between delimiting faces use the angle between edges without scaling it down. While faces with different materials wont ever be merged into a single face, all the detail between the two faces may be removed.
2020-02-15Cleanup: bmesh inset commentsCampbell Barton
- Use doxy sections - Don't document implementation details in doxy comments.
2020-02-15Cleanup: define useCampbell Barton
2020-02-14Fix T71971: Inset with depth and relative offset failsCampbell Barton
2020-02-14BMesh: stop BM_mesh_elem_index_validate from setting indicesCampbell Barton
This prevented indices from being set to temporary values, which is needed in some situations.
2020-02-07Code Quality Day: Comment formatting in bmesh_bevel.cHans Goudey
2020-02-07Cleanup: use of 'unsigned'Campbell Barton
- Replace 'unsigned' used on it's own with 'uint'. - Replace 'unsigned const char' with 'const uchar'.
2020-01-30Fix T73450, crash when adding segments on bevel.Howard Trickey
Needed to protect against a case where clamp overlap limited the offset to approximately zero, and the snap-to-pipe code would therefore encounter an almost degenerate profile and fail in matrix inversion.
2020-01-28Cleanup: warnings, clang-formatCampbell Barton
2020-01-28bmesh_intersect_edges: Don't detect faces if an edge already existsmano-wii
For optimization.
2020-01-27bmesh_intersect_edges: Improve detection of the best_facemano-wii
`lambda_a` made it more restricted than it should be.
2020-01-27bmesh_intersect_edges: Fix assertsmano-wii
2020-01-27Merge branch 'blender-v2.82-release'mano-wii
2020-01-27Fix T59804: Expose hidden bmesh.ops.symmetrize options in pythonmano-wii
The operator actually supports a 6-item enum Differential Revision: https://developer.blender.org/D6613
2020-01-27Edit Mesh: Auto Merge - Split Edges & Faces - Better logic for splitting facesmano-wii
Differential Revision: https://developer.blender.org/D6626
2020-01-25Bevel: Remove Debugging CodeHans Goudey
Remove old / trivial print statements and drawing code. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6661
2020-01-25Bevel: Simplify Profile Calculation StepHans Goudey
Profile calculation now happens in a single pass rather than being spread throughout the process. This means each profile will only be calculated a single time. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6658
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2020-01-23Fix T71311 Bridge Edge Loops crash when bridging cube edgesSybren A. Stüvel
This commit will prevent the crash. It does produce a result that may not be desirable (only briding one face of the cube), but at least it's better than crashing.
2020-01-21Fix T73295: Incorrect BMesh volume calculationCampbell Barton
Use double precision since volume calculation is susceptible to float precision errors.
2020-01-13Fix T71329: Bevel: Don't drop offsets to 'in plane' facesHans Goudey
offset_meet creates offset lines that can't be directly intersected, so the average of the points on each offset line is 'dropped' onto the faces around the beveled vertex, which can depend on where the loop starts. This fix skips faces with the same normals as the "in plane" faces from build_boundary. Reviewed By: howardt Differential Revision: https://developer.blender.org/D6521
2020-01-09Fix T72375: Crash when using spin toolmano-wii
The original geometry referenced in `vtable` was deleted by the `extrude_face_region` operator. It is read soon after, so don't delete the original geometry (param `use_keep_orig`). This may have a small impact on performance.
2020-01-07bmesh_intersect_edges: Remove unnecessary index settingmano-wii