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
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-17Cleanup: use clamp_* from BLI_math (replace macro)Campbell 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-06-04Cleanup: strip trailing space in bmesh moduleCampbell Barton
2018-05-15Fix BMesh bisect not flagging dirty indicesCampbell Barton
2018-05-07Fix Bevel percent mode bug 54228Howard Trickey
Previous new adjust pass commit should have excluded percent mode.
2018-05-04Fix wireframe modifier w/ even offsetCampbell Barton
Was passing non-normalized axis to angle_on_axis.
2018-03-14Cleanup: rename BLI_array_count -> lenCampbell Barton
Match naming convention used everywhere else. Count should only be used when this isn't directly accessible.
2018-02-18Cleanup: add 2d suffix to BLI filesCampbell Barton
Some of these API's can have 3D versions, explicitly name them 2D.
2018-02-15Cleanup: use '_len' instead of '_size' w/ BLI APICampbell Barton
- When returning the number of items in a collection use BLI_*_len() - Keep _size() for size in bytes. - Keep _count() for data structures that don't store length (hint this isn't a simple getter). See P611 to apply instead of manually resolving conflicts.
2018-02-08Disable fast adjust code. Add other end spec matching.Howard Trickey
This fixes a few caess where new width adjustment code was less than ideal.
2018-02-05Fix bevel profile=1 problems, see T39132, T38458, T40278, T51010,Howard Trickey
T53783. Before, profile=1 ("square outside") only worked well in a few cases (some "pipes", cube corners). This makes it work well pretty much everywhere.
2018-02-01Cleanup: rename BLI_*_empty() -> clear()Campbell Barton
Consistent with other BLI API's
2018-01-29Fix nan problem in previous bevel commit.Howard Trickey
For chains, access to g_prod[0] was undefined. And two minor style (whitespace) changes.
2018-01-29Fix T53459, inconsistent bevel on identical edges.Howard Trickey
The old algorithm depended on vertex order. The new one uses a global least squares solution on chains and cycles of edges where loop slide induces a dependency. See https://wiki.blender.org/index.php/Dev:Source/Modeling/Bevel in the "Consistent Widths for Even Bevels" for derivation of the new algorithm.
2018-01-28Cleanup: style, spellingCampbell Barton
2018-01-19Cleanup: typosCampbell Barton
2018-01-10Cleanup: comment block alignmentCampbell Barton
2017-12-18Fix T53474, bevel glitchy with big objects.Howard Trickey
A comparison should have not just have been against an epsilon, but relative to the edge length involved. Thanks to mano-wii for patch on which this is based.
2017-12-04Better bevel profile at extreme values of profile.Howard Trickey
Patch from Richard Erhardt, with some additions & modifications. Changes bevel profile shape parameter so that can get arbitrarily near square profile as parameter -> 1. Adds code to make profile=0 case work, at least for cube corners, so changed hard min of profile parameter to 0 from 0.15.
2017-10-29BMesh: use heap update for dissolve-decimateCampbell Barton
2017-10-29BLI_heap: minor changes to the APICampbell Barton
Recent addition of 'reinsert' didn't match logic for ghash API. Rename to BLI_heap_node_value_update, also add BLI_heap_insert_or_update since it's a common operation.
2017-10-28Use BLI_heap_reinsert for decimate and beautifyCampbell Barton
Improves performance for high poly meshes, ~70% faster for decimate, only ~10% for beautify.
2017-10-22Polyfill Beautify: half-edge optimizationCampbell Barton
Was using an edge hash for triangle -> edge lookups, updating triangle indices for each edge-rotation. Replace this with half-edge which can rotate edges much more simply, writing triangles back once the solution has been calculated. Gives ~33% speedup in own tests.
2017-09-26Beauty fill was skipping small facesCampbell Barton
2017-09-19Cleanup: BLI_utildefines prefix for header-only libsCampbell Barton
This allows to have different macro headers without them sharing similar names to regular C modules.
2017-09-15Polyfill Beautify: option to rotate out of degenerate stateCampbell Barton
Needed for 3D iterative edge-rotation to avoid flipping when projected from different angles, but could keep zero area faces in 2D polygons.
2017-09-14Correct error in last commitCampbell Barton
2017-09-14Fix T52748: Select shortest face path failsCampbell Barton
2017-09-11Fix T52701: Mesh shortest path fails at boundariesCampbell Barton
2017-08-11Fix bevel clamping bugs T51247 and T50819.Howard Trickey
Old bevel 'Clamp overlap' code was very naive: just limit amount to half edge length. This uses more accurate (but not perfect) calculations for the max amount before (many) geometry collisions happen. This is not a backward compatible change - meshes that have modifiers with 'Clamp overlap' will likely have larger allowed bevel widths now. But that can be fixed by turning off clamp overlap and setting the amount to the desired value.
2017-07-31Code cleanup: fix warning with clang.Brecht Van Lommel
2017-06-07Bevel Op (internal and API) now returns new edges and verts as well asHoward Trickey
faces. This was requested by script writers. Especially needed if beveling wire edges with vertex_only. Should be backward compatible as just adds two new keys to returned dict in python ('edges' and 'verts').
2017-05-29Fix T50906 and T49361, bevel didn't curve in plane sometimes.Howard Trickey
2017-05-28Fix T48996, bevel bad for certain in-plane edges.Howard Trickey
2017-05-23Fix T48668, bevel mistake on presumed reflex angle.Howard Trickey
Note: the angle in bug isn't really reflex - using the vertex normal for this test isn't always right, but usually is. At any rate, shouldn't try to put vertex on edge between if a reflex angle.
2017-05-16Fix T49467: Crash due to assert failure in bevel.Howard Trickey
The mesh interpolation code had an edge case where one of two adjacent edges to a vertex has 0 length. This caused an assert failure indexing the vertex mesh for splash Blenderman.blend.
2017-05-06bmesh: use 'uint' instead of 'unsigned int'Campbell Barton
no functional changes.
2017-03-13Fix T50920: Adds missing edges on return of bisect operatorGermano Cavalcante
2017-03-12BMesh: rename cryptic functionsCampbell Barton
Use expanded names for bmesh primitive operations (urmv jvke semv jfke). Use 'bmesh_kernel_' prefix, these functions aren't intended for wide use so favor readability. Remove BM_face_vert_separate, it wasn't used and only skipped step of finding correct loop of face.
2017-03-11Correct recent bmesh separate additionCampbell Barton
- Was setting flag incorrectly to avoid re-use. - Check edge has loops before accessing.
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-05Fix T50855: Intersect (knife) w/o separate doesn't selectCampbell Barton
2016-12-28Fix T49848: bevel of spiral gets bigger and bigger widths.Howard Trickey
This is the same issue as was fixed with T39486: the adjustment pass that tries to equalize different widths at either end of an edge sometimes causes the widths to get bigger and bigger. The previous fix was to let "clamp_overlap" do double duty as a way to limit this behavior. But clearly this is undiscoverable, as the current bug report shows. So I put in an "auto-limiting" mode that detects when adjustments are going crazy and then acts as if clamp_overlap were set. The reason we can't always act as if clamp_overlap is set is that certain models (e.g., Bent_test in regression tests) look bad if that is enabled.
2016-12-06Fix T50003, Bevel makes non-manifold mesh.Howard Trickey
Problem was setting prev/next faces for edges around a vertex on valence-2 vertices.
2016-11-13BMesh: BM_face_exists no longer uses return argCampbell Barton
Just return the face or NULL, like BM_edge_exists(), Also for BM_face_exists_overlap & bm_face_exists_tri_from_loop_vert. No functional changes. Old code did some partial overlap checks where this made some sense, but it's since been removed.
2016-11-12BMesh: Minor improvement to face-joinCampbell Barton
Pass in loops instead of edge & faces. Nearly all callers have the loop-pairs to pass in.
2016-10-16Fix assert in the wrong place, should be moved earlier to do anything.Chase Willden
Reviewed By: brecht Differential Revision: https://developer.blender.org/D2304
2016-09-12Fix T49296, assert failure in Bevel code.Howard Trickey
The mesh interpolation function failed to fill a fractions-of-the-way array properly when the distances are very small but nonzero.
2016-08-18Cleanup: some bad sizeof() usages.Bastien Montagne