Campbell Barton
d68917cb86
code cleanup: typos
2013-07-27 07:02:27 +00:00
Campbell Barton
8aa1bdbc89
simplify triangle joining and remove use of BLI_array.
2013-07-27 06:45:11 +00:00
Campbell Barton
6b3abde8d4
fix for joining face selection after recent api change, also bmo_join_triangles_exec() wasn't filling in its 'face' output slot.
2013-07-27 06:11:54 +00:00
Campbell Barton
a0969adb4e
fix for bridge tool selection flushing (after recent api change), also exposed bug in bmesh edgering-subdiv operator.
2013-07-27 05:57:20 +00:00
Campbell Barton
5dc3cfc983
fix [ #36282 ] Spin error with non uniform scale
...
add support for passing object matrix to bmesh transform operators.
2013-07-26 11:15:22 +00:00
Campbell Barton
7c58ec9337
use math functions for copying matrix/vector types, also cast const pointers for freeing (clang error's out otherwise)
2013-07-26 10:43:23 +00:00
Campbell Barton
29df776b89
optimization: call one bmesh operator for rotate (not 3).
...
added pivot_m4() utility function since rotating about an arbitrary point is handy.
2013-07-26 06:12:49 +00:00
Campbell Barton
09a9aa5720
add twist option to bridge tool (for circular loops)
2013-07-25 19:27:18 +00:00
Campbell Barton
4bc32d5ded
mesh tool to fill in holes, added in mesh clean menu,
...
unlike other face creation tools it copies data from surrounding faces.
2013-07-25 18:43:05 +00:00
Campbell Barton
66d9c0def9
fix for face normal flipping calculation.
2013-07-25 18:16:55 +00:00
Campbell Barton
a15e9ca495
triangulate and beauty fill also needed changes to selection handling after recent changes.
2013-07-25 07:00:07 +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
2d2f5f59d7
dyn-topo: maintain materials for new faces.
...
also minor optimization for BM_edge_in_face(), check edges radial loops rather then the faces edges
since normally there are 0-2 faces attached to an edge compared to 3+ edges in a face.
2013-07-24 19:58:16 +00:00
Campbell Barton
19496ab62a
internal bmesh api change: BM_elem_attrs_copy() no longer copies the selection flag.
...
this was slowing down modifiers since the selection flags would be copied and flushed to connected geometry.
2013-07-24 19:31:58 +00:00
Campbell Barton
cdac157f4c
code cleanup: use iterator macros, and replace BM_LOOPS_OF_FACE with direct loop access when converting a bmesh to a mesh.
2013-07-24 18:38:55 +00:00
Campbell Barton
e50c37d90f
code cleanup: remove deprecated bevel code (unused since 2.64)
2013-07-23 14:28:19 +00:00
Campbell Barton
90fdaa8219
optimization: lazy initialize EditDerivedBMesh members vertexNos, polyNos.
...
also add polyCos array which cache's face centers, gives overall ~20% speedup to drawing on a high-poly mesh in face-editmode.
2013-07-22 16:49:37 +00:00
Campbell Barton
57ce6d1470
old todo, rotate around individual origins now supports connected face/edge islands.
...
previously this gave very odd/annoying results, see bug reports [#36134 ], [#35419 ]
2013-07-22 14:50:38 +00:00
Campbell Barton
7398c49776
add support for BM_mesh_calc_face_groups to use vertex connectivity (not currently used yet)
2013-07-22 08:12:50 +00:00
Campbell Barton
7db1d6556d
code cleanup: add break statements in switch ()'s, (even at the last case).
2013-07-21 08:16:37 +00:00
Campbell Barton
a2492e0603
style cleanup: braces/indentation
2013-07-19 16:44:17 +00:00
Campbell Barton
7087b8b9fe
code cleanup: remove BLI_array use when extruding individual faces. also use BM_face_copy utility function.
2013-07-19 11:45:21 +00:00
Campbell Barton
79b919644b
code cleanup: remove array reallocation in bmesh duplicate function (use alloca)
2013-07-19 10:39:32 +00:00
Campbell Barton
b7826c42df
enable type limits warning when compiling with gcc.
2013-07-19 10:39:25 +00:00
Campbell Barton
7430701600
correct own incorrect check bmesh edgerin subdivide, also add missing break in orthogonalize_m3 though this one wouldn't effect release builds.
2013-07-16 11:39:48 +00:00
Campbell Barton
b7396654e1
fix for bad NULL check in bmo_connect_pair, also remove duplicate checks in if statements and redundant initialization vars.
2013-07-13 16:25:47 +00:00
Campbell Barton
c098557240
fix [ #36100 ] bevel lost selection
...
interpolating loop was copying face attributes including selection, checked all users of this function and its safe to remove the call (which is bad to begin with).
2013-07-11 14:21:50 +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
Campbell Barton
48c8d99cd9
add BM_elem_attrs_copy_ex() which can take a flag arg to define which flags should be copied. (mainly to be able to avoid copying selection/hidden state)
2013-07-11 12:43:34 +00:00
Campbell Barton
13e33522dc
fix for bridge tool where the 2 loops overlap (typical use for scanfill), however its nice to support with bridge too since it can do subdivisions, handles customdata and fills in quads.
2013-07-11 08:37:30 +00:00
Campbell Barton
7fec23ae0a
fix for problem with edge slide where it would stop shapekey modifier from being applied (because of added vertices),
...
now, instead of making hidden copies of faces, the faces are copied into a temp bmesh.
also remove a hash that was being created and not used (old code).
2013-07-11 04:24:36 +00:00
Campbell Barton
b36999b2f7
bm_loop_interp_mdisps was doing multiple lookups in the same pointer in a nested loop. only need one, also avoid multiple layer lookups with mdisp calculation/smoothing
2013-07-11 01:28:27 +00:00
Campbell Barton
930dde34a3
BM_mesh_clear was setting toolflags incorrectly, also no meed to calloc when shrinking toolflags array.
2013-07-10 13:06:31 +00:00
Campbell Barton
bd5cb6fb3b
fix for own error in normal-recalc r58077, initial face flipping wasn't checking against face-island center.
2013-07-09 01:18:15 +00:00
Campbell Barton
14ab39c5e0
minor improvements
...
- calc normals only check flag when needed.
- keymap, dont get name unless its needed.
- keymap, avoid property lookup.
- idprop debug print, include pointer, helpful for troubleshooting.
2013-07-09 00:13:17 +00:00
Campbell Barton
27734f5bec
fix/improve normal calculation, noticed when checking on the previous bugfix.
...
- normals depended on the meshes rotation, so you could rotate Suzzane and in some cases one of the eye normals would be flipped.
- normals depended on the meshes placement in relation to the meshes center, now find the outer most face by each face-island center.
2013-07-08 13:30:11 +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
Campbell Barton
61bbefe40d
remove unused normal-recalc flags.
2013-07-08 08:56:46 +00:00
Campbell Barton
335fd7388f
move normal recalculation into its own source file.
2013-07-08 08:50:04 +00:00
Campbell Barton
2c8087aa2a
fix [ #36047 ] Recalculate normals produces faulty normals on certain simple meshes
...
The mesh in the report had 3 faces-user-edges, resolve the problem by not walking over these edges.
also don't recurse anymore (avoids realloc's).
2013-07-08 00:51:30 +00:00
Campbell Barton
0a1bcc78e0
fix for writing past array end with loop filling.
2013-07-06 02:20:39 +00:00
Campbell Barton
0d18f1829a
fix [ #35989 ] bridge tool flip mash
...
open edge loops were calculating flipping incorrectly.
2013-07-05 08:45:42 +00:00
Campbell Barton
02002c2394
fix [ #36014 ] Individual Origin Translation across Normal Orientation doesn't work properly.
...
makes boundary edges use predictable orientation.
2013-07-05 05:52:49 +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
b96aa8800e
bump up openmp limit for release,
...
also remove 'Vertex ' prefix for items in the vertex menu.
2013-07-02 04:34:39 +00:00
Campbell Barton
e9208e99b7
bridge tool: calculate face normals before triangulating, own error when removing normal recalc from the bmesh operator.
...
also rename `Fill Grid` -> `Grid Fill` to match `Beauty Fill`
2013-07-01 07:15:12 +00:00
Campbell Barton
73d32fdcc2
add type checking assert in bmesh operator iterator.
2013-07-01 07:12:05 +00:00
Campbell Barton
ff39d7b4bf
fix for incorrect selection when running MESH_OT_loop_to_region, running wire-frame operator directly after would crash.
2013-06-27 05:19:25 +00:00