Commit Graph

1061 Commits

Author SHA1 Message Date
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