Campbell Barton
620d674b85
fix error in recently added symmetrize rewrite, verts already on the aligned to the mirror-plane would not be welded.
2013-08-23 13:27:44 +00:00
Campbell Barton
6f4b79d5af
edits to new symmetrize tool
...
- snap axis-aligned verts to the center.
- expose the threshold for detecting if a vertex is on the axis.
2013-08-23 05:32:43 +00:00
Campbell Barton
77fa1aaab5
modify closest_to_plane_v3 not to use point-normal form.
2013-08-23 05:15:12 +00:00
Campbell Barton
6cba2b8d73
move bmesh tools into their own include,
...
changes to tool args would rebuild far too many files and these are mainly by modifiers outside of bmesh.
2013-08-23 04:22:07 +00:00
Campbell Barton
e97f979f73
new bmesh operator bisect_plane, cuts a mesh in half, takes a user defined plane as an argument, handles concave ngons which need multiple cuts.
2013-08-22 17:56:08 +00:00
Campbell Barton
9470754fd3
bmesh api cleanup, face creation args now accept an example face (as with vertex and edge),
...
also replace BM_face_create_quad_tri_v with BM_face_create_verts
2013-08-21 07:51:47 +00:00
Campbell Barton
8937a8b839
use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
...
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
Campbell Barton
6bdff7e2ad
fix [ #36481 ] When "Rip Edge" cannot be completed, Blender crashes weirdly
2013-08-19 10:00:17 +00:00
Campbell Barton
2060bb114a
correct uninitialized var, worked by accident.
2013-08-19 00:39:28 +00:00
Campbell Barton
c5e14f62a6
bmesh improvements to face creation.
...
* fill-holes operator now takes advantage of new edge-net fill, works in many more cases then it did before.
* face-create that uses edge-net now initializes the normals based on surrounding geometry, only running normal calculation if there are no connected faces for a reference.
2013-08-18 15:14:55 +00:00
Brecht Van Lommel
a2541508ac
Fix a few compiler warnings reported by clang.
2013-08-18 14:15:51 +00:00
Campbell Barton
5fafc222f0
style cleanup
2013-08-17 08:21:40 +00:00
Campbell Barton
ef8ea14f45
rewrite edgenet fill bmesh operator.
...
previous code created faces with mixed face-flipping and could get very slow,
test with ~60,000 edges here hung my system for over 2min (didnt wait for it to finish), new code executes in about 1 second.
new code doesn't attempt to flip faces correctly, its quite involved to do so, especially when the new faces are not created adjacent to eachother.
so simpler to calculate normals afterwards.
2013-08-16 14:18:54 +00:00
Campbell Barton
7d67261a7b
fix bug with editmesh rip, active edge could be left on the unselected side of the edge loops.
2013-08-14 09:14:33 +00:00
Campbell Barton
49411a6e37
fix own regression, rip tool wasn't handling selection.
2013-08-13 01:00:07 +00:00
Campbell Barton
00b39c4e5b
code cleanup: more confusion with 0/NULL/false
2013-08-07 03:55:21 +00:00
Campbell Barton
26f52fb441
bmesh: improve limited dissolve result
...
iteratively dissolve the best edge/vert, updating the heap as the dissolve runs.
2013-08-03 21:01:42 +00:00
Campbell Barton
4982f200fa
move alloca define into its own header since its not related to BLI_array
2013-07-28 10:38:25 +00:00
Campbell Barton
3270031660
correct problem with limited-dissolve not leaving the selection correctly (caused by BM_elem_attrs_copy no longer dealing with selection)
2013-07-25 06:05:44 +00:00
Campbell Barton
e50c37d90f
code cleanup: remove deprecated bevel code (unused since 2.64)
2013-07-23 14:28:19 +00:00
Howard Trickey
b2a0255539
Fix bevel when there is a gap in faces around vertex.
...
Fixes bug #35927 (Vertex Bevel bug) but even edge
bevel didn't work on the example there. Problem
was with forming the proper ccw ordering of edges
around the bevel.
Also appears to fix bug #35582 (Bevel, weird results).
2013-07-11 13:29:52 +00:00
Howard Trickey
0a006cce9c
Fix bevel bugs 34445 and 35109, copying over edge data.
...
The bugs were about not respecting edge smoothness and
not respecting edge crease. This change copies the
edge attributes from a beveled edge to the two outside
edges of the bevel.
2013-07-08 13:02:21 +00:00
Howard Trickey
2e7776b95a
Fix bevel crash bug 35990. Sometimes no face to interpolate from.
2013-07-03 20:52:31 +00:00
Campbell Barton
4848ca09c0
style cleanup
2013-07-02 20:36:52 +00:00
Howard Trickey
994a937a97
Fix Bevel bug #34321 , making bevel keep UVs contiguous when possible.
2013-07-02 13:18:56 +00:00
Campbell Barton
fad1da062d
correct typos in comments.
2013-06-25 22:58:23 +00:00
Campbell Barton
998101763a
correct for own regressions when refactoring select-path, was using heap popmin incorrectly.
2013-06-19 19:59:49 +00:00
Campbell Barton
48fd740096
edit-mesh improvements to select shortest path
...
- Ctrl+RMB only worked for edges & faces
- Menu item 'Select Shortest Path' only worked for vertices.
Now Ctrl+RMB works for vertices and the menu item works for verts/edges/faces (depending on the current selection).
2013-06-04 01:23:51 +00:00
Campbell Barton
790e9d9fa0
fix [ #35311 ] Planar Decimate / Limited Dissolve fails to merge some adjacent faces
...
optionally limit by face flipping, also added support to delimit by material and edge crease.
2013-06-03 05:07:16 +00:00
Campbell Barton
5e347c4f71
code cleanup: typos
2013-05-26 12:02:29 +00:00
Campbell Barton
7222d654b2
code cleanup: typo and stop manpage turning '$' into italic.
2013-05-25 02:21:50 +00:00
Howard Trickey
834c6ca316
Fix bug #35450 , bevel make large spikes sometimes.
...
Needed special case for when beveled edge is
antiparallel to an adjacent edge.
2013-05-24 13:13:05 +00:00
Campbell Barton
1fe7657b4f
code cleanup: avoid unneeded normalizations when joining tris -> quads, also correct assert with edge-collapse-decimate.
2013-04-21 13:10:05 +00:00
Campbell Barton
6da961775f
code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-04-13 20:31:52 +00:00
Campbell Barton
e8d532f1dd
style cleanup
2013-03-31 03:28:46 +00:00
Campbell Barton
e1a54214bb
code cleanup:
...
- remove unused defines.
- quiet some shadow warnings.
- bevel, ifdef out some asserts that are too common.
- style
2013-03-25 02:41:30 +00:00
Campbell Barton
7ec47aa864
code cleanup: shadowing
2013-03-16 14:33:32 +00:00
Howard Trickey
604bdb7f45
Fix bevel modifier bug #34611 , limit bevel amount needed.
...
This is a quick fix that perhaps overestimates the point
of first geometry collision, but at least for now it should
allow models that used the old modifier and a too-big
bevel amount to not look awful.
The correct solution to this problem is much more involved
and I'll get to it later.
2013-03-13 14:08:12 +00:00
Campbell Barton
ee3d910f8f
code cleanup: quiet struct gcc warnings, also use more conventional names for bmesh dissolve.
2013-03-12 08:50:02 +00:00
Campbell Barton
347e2b6cb0
code cleanup: make bmesh var names more consistent
2013-03-09 17:12:24 +00:00
Howard Trickey
0a6e8a41b9
Enable new bevel tool code in bevel modifier.
...
Now modifier takes a segments parameter.
Bevel edge weights will multiply the overall amount.
For vertex-only, you can give a vertex group name,
and the weights in that will multiply the overall amount.
2013-02-21 17:29:35 +00:00
Campbell Barton
2005f7c6c0
style cleanup: also some typos
2013-02-11 00:49:00 +00:00
Campbell Barton
e7cead0994
own recent change to triangulate bmesh operator stopped filling in mapping slot 'face_map.out', not used by blender its self but useful for scripts, enable this again.
2013-02-05 11:30:50 +00:00
Campbell Barton
9d713688ba
code cleanup: warnings
2013-02-04 16:20:39 +00:00
Campbell Barton
518bfbb1c9
style cleanup
2013-02-02 04:58:03 +00:00
Howard Trickey
7d3c6b2760
Fix bevel bug #33906 , unwanted distortion with skewed meshes.
...
The code for making a rounded profile edge at a vertex needed
a special case for when that profile is on the third face
(the one not touched by the beveled edge) when only one edge
is beveled and the three faces are not orthogonal.
2013-01-31 12:54:06 +00:00
Campbell Barton
4e7b18876c
style cleanup
2013-01-30 21:17:38 +00:00
Campbell Barton
f02f491ed0
correction to r54188, also don't attempt to triangulate triangles.
2013-01-29 20:49:40 +00:00
Campbell Barton
2b875a947f
skip calculating the normal for each face when triangulating, all callers make sure its valid. also remove some commented code (more then one generation of bmesh old).
2013-01-29 15:05:23 +00:00
Campbell Barton
37489d71c7
Triangulate modifier no longer uses bmesh operator api call, instead add a BM_mesh_triangulate() function. Gives ~2x speedup in my tests on an optimized build.
2013-01-29 10:31:05 +00:00