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-03-08Speedup for usual non-manifold exact boolean case.Howard Trickey
The commit rB6f63417b500d that made exact boolean work on meshes with holes (like Suzanne) unfortunately dramatically slowed things down on other non-manifold meshes that don't have holes and didn't need the per-triangle insideness test. This adds a hole_tolerant parameter, false by default, that the user can enable to get good results on non-manifold meshes with holes. Using false for this parameter speeds up the time from 90 seconds to 10 seconds on an example with 1.2M triangles.
2020-12-24Cleanup: Fix capitalization in various UI stringsYevgeny Makarov
Approximately 195 changes of capitalization to conform to MLA title style. UI labels and property names should use MLA title case, while descriptions should be capitalized like regular prose, generally with only the start of a sentence capitalized. Differential Revision: https://developer.blender.org/D9922
2020-11-08Fix T81651, exact boolean modifier incorrect if operand hidden.Howard Trickey
The code was trying to ignore hidden geometry when doing boolean, which is correct when used as a tool, but not when a modifier. Added a "keep_hidden" argument to bmesh_boolean to distinguish the two cases. Also fixed a bug when the tool is used with hidden geometry that is attached to unhidden geometry that is deleted by the operation.
2020-10-27Cleanup: use over-line for doxy commentsCampbell Barton
Follow our code style for doxygen sections.
2020-09-13Apply patch D8816, from Zachary(AFWS) for collection boolean operand.Howard Trickey
Also added code so that exact solver does the whole collection at once. This patch allows users to use a collection (as an alternative to Object) for the boolean modifier operand, and therefore get rid of a long modifier stack.
2020-08-31New Boolean: Always expose solver propery, add warningHans Goudey
After discussion with @howardt, it seems the solver property should always be exposed, even in lite builds. This commit removes the ifdefs for that property and adds a warning if the "Exact" solver is used when Blender is compiled without GMP. These changes apply to the boolean modifier as well.
2020-08-31Cleanup: Resolve unused variable warning in lite buildHans Goudey
2020-08-28Merge newboolean branch into master.Howard Trickey
This is for design task T67744, Boolean Redesign. It adds a choice of solver to the Boolean modifier and the Intersect (Boolean) and Intersect (Knife) tools. The 'Fast' choice is the current Bmesh boolean. The new 'Exact' choice is a more advanced algorithm that supports overlapping geometry and uses more robust calculations, but is slower than the Fast choice. The default with this commit is set to 'Exact'. We can decide before the 2.91 release whether or not this is the right choice, but this choice now will get us more testing and feedback on the new code.
2020-07-03Cleanup: Editors/Mesh, 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/editors/mesh` module. No functional changes.
2020-05-13Fix T75574: Instant crash: averaging custom normals on model.Bastien Montagne
Fairly critical code mistake actually, since it uses malloca, BLI_smallstack should *never* be declared inside a loop... Also optimized handling of the `loop_weight` heapsimple, we can also only create and use a single one for all edited objects... Found two other operators potentially affected by same issue (split normals, and weld edges into faces).
2020-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-01-07Edit Mesh: pass in Mesh instead of BMEditMesh to EDBM_update_genericCampbell Barton
This avoids a list lookup in Main (recently added), passing in a mesh instead of an edit-mesh, since the mesh links to the edit-mesh.
2019-09-17DRW: Refactor to support draw call batchingClément Foucault
Reviewers: brecht Differential Revision: D4997
2019-09-14Revert "DRW: Refactor to support draw call batching"Clément Foucault
This reverts commit ce34a6b0d727bbde6ae373afa8ec6c42bc8980ce.
2019-09-13DRW: Refactor to support draw call batchingClément Foucault
Reviewers: brecht Differential Revision: D4997
2019-04-22Cleanup: style, use braces for editorsCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2019-01-15Cleanup: comment line length (editors)Campbell Barton
Prevents clang-format wrapping text before comments.
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-09-27Merge branch 'master' into blender2.8Brecht Van Lommel
2018-06-15Merge branch 'master' into blender28Campbell Barton
2018-06-15Fix T55490, intersect two triangles fails.Howard Trickey
Need to use the 'use_partial_connect' option in island connect, so changed signatures of various functions to pass that into and then down from BM_mesh_intersect (making true for intersect, false for boolean). Then fix bm_face_split_edgenet_partial_connect to work when input edges are not necessarily wire, but at least not in the face they are being connected in. That caused generalization of core BM_vert_separate_hflag_wire (which is only used in this one place in all Blender).
2018-05-20Cleanup: whitespace, duplicate includesCampbell Barton
2018-05-16Multi-Object-Editing: intersect boolean (MESH_OT_intersect_boolean)milios
Reviewers: dfelinto (changed test from totvert to totfacesel before committing) Maniphest Tasks: T54643 Differential Revision: https://developer.blender.org/D3306
2018-05-16Fix check for MESH_OT_intersectDalai Felinto
2018-05-16Multi-Object-Editing: intersect (MESH_OT_intersect)milios
Reviewers: dfelinto Maniphest Tasks: T54643 Differential Revision: https://developer.blender.org/D3307
2018-05-16Multi-Object-Editing: Weld Edges into Faces(MESH_OT_face_split_by_edges)milios
Reviewers: dfelinto Maniphest Tasks: T54643 Differential Revision: https://developer.blender.org/D3308
2018-02-01Cleanup: rename BLI_*_empty() -> clear()Campbell Barton
Consistent with other BLI API's
2017-10-18Cleanup: Use const for RNA EnumPropertyItem argsCampbell Barton
Practically all access to enum data is read-only.
2017-03-11BMesh: add BM_mesh_separate_facesCampbell Barton
Fast-path for bmesh split operator which duplicates and deletes. Use when only separating faces, currently used by the intersect tool.
2017-03-05BMesh: Add 'cut' separate mode for intersect toolCampbell Barton
It was only possible to separate all geometry from an intersection or none. Made this into an enum with a 3rd option to 'Cut', (now default) which keeps each side of the intersection separate without splitting faces in half.
2017-03-05Fix T50855: Intersect (knife) w/o separate doesn't selectCampbell Barton
2016-08-18Cleanup: some bad sizeof() usages.Bastien Montagne
2016-07-16Cleanup: spellingCampbell Barton
2016-02-20Fix for NULL used instead of falseSergey Sharybin
2015-12-23Fix weld edges into faces splicing verts that shared a faceCampbell Barton
This could happen with degenerate faces.
2015-12-22Rename mesh operatorsCampbell Barton
- use 'Intersect' prefix for boolean and regular intersection. hints that they use the same basic logic with different modes. - 'split by edges' while correct - isn't very descriptive.
2015-12-17BMesh: split-by-edges minor fixesCampbell Barton
- select all newly created edges - remove redundant edges (not essential but nicer output).
2015-12-16BMesh: support connecting single-edge island linksCampbell Barton
Handle these cases by temporarily disconnecting the single links to ensure isolated islands, then link back up after.
2015-12-15BMesh: split-py-edge now splices verts into edgesCampbell Barton
Edge chains spanning faces or ending without a connecting edge are now supported by splicing verts into the face boundaries.
2015-12-15Fix split-py-edge assuming valid face indicesCampbell Barton
Also reduce variable scope
2015-12-13BMesh: split-face by edges support isolated edgesCampbell Barton
Previously edges needed to be connected to the faces.
2015-12-13BMesh: replace BLI_array w/ BLI_bufferCampbell Barton
Also reuse temporary buffer between calls.