Commit Graph

366 Commits

Author SHA1 Message Date
Campbell Barton
2005f7c6c0 style cleanup: also some typos 2013-02-11 00:49:00 +00:00
Campbell Barton
555bcc3298 add beauty option for triangle fill since you might want to use the initial scanfill result. 2013-02-09 15:49:20 +00:00
Campbell Barton
5e05d67436 improve beauty-fill tool for non-flat triangles.
Project the triangle pair into 2d coords before measuring.

before/after - http://www.graphicall.org/ftp/ideasman42/beauty_fill_fix.png
2013-02-09 08:16:13 +00:00
Campbell Barton
c30fb009cc problem with own changes to triabgulate: calling beauty fill directly would re-allocate the faces which mean't triangulates output slots pointers became invalid. (noticed when using from py api) 2013-02-06 15:57:12 +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
c649107499 when triangulating ngons, use beauty option to rotate edges. gives much nicer results and means you can preserve original edges without triangulating ngons one at a time 2013-02-03 08:07:14 +00:00
Campbell Barton
2f53741cfe bridge tool could make bow-tie quads when given 2 isolated edges. 2013-01-30 03:12:19 +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
Campbell Barton
c411cde415 header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTree 2013-01-24 21:57:13 +00:00
Campbell Barton
00ef8896fd fix for own error in recent BLI_array commit 2013-01-20 16:58:14 +00:00
Campbell Barton
bc44e81dff fix own bug with uninitialized arrays in subdivide (from recent BLI_array.h update)
also quiet warning.
2013-01-20 08:05:23 +00:00
Campbell Barton
8496a5a501 replace vertex slide with the transform operator. (MESH_OT_vert_slide -> TRANSFORM_OT_vert_slide) 2013-01-15 03:48:13 +00:00
Campbell Barton
b27854bd47 use booleans for bmesh api. 2013-01-14 16:42:43 +00:00
Campbell Barton
9f2e845181 code cleanup: use BMW_begin insode for loops body. 2013-01-14 09:53:56 +00:00
Campbell Barton
983e5fe5f1 fix for own mistake in recent changes to scanfill, bmo_triangle_fill_exec() (alt+f), was missing BLI_SCANFILL_CALC_HOLES argument.
reported as [#33819]
2013-01-10 14:28:06 +00:00
Nicholas Bishop
ab960eea88 Add symmetrize operator for dynamic-topology sculpt mode 2012-12-30 18:31:01 +00:00
Campbell Barton
4e88bfca1b fix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian
lambda is python keyword.
2012-12-28 11:12:46 +00:00
Howard Trickey
4e5d5e0d84 Add 'vertex_only' option to bevel tool.
Right now, changing segments to > 1 doesn't do anything,
but intend to work on making that cause rounded corners.
2012-12-28 02:45:10 +00:00
Campbell Barton
84361f602a fix [#33651] Spin tool destroys unselected loose vertex
bmesh.ops.extrude_face_region() didn't check for isolated verts (not connected to geometry), and removed them, happened for Ctrl+LMB extrude too.
2012-12-27 01:02:32 +00:00
Campbell Barton
2cb39ea9da use BM_face_create() over BM_face_create_ngon() in bevel and extrude individual faces to get some speedup. 2012-12-19 09:45:56 +00:00
Campbell Barton
bee7c20a97 move edge split into its own function which can be called by the modifier without having to call a bmesh operator (gives some speedup). 2012-12-12 12:57:27 +00:00
Campbell Barton
b93f02042e use header only tags for edge split (to prepare to move this into tools/) 2012-12-12 12:29:37 +00:00
Campbell Barton
71730f26d7 replace BLI_array_fixedstack_declare with() new macro BLI_array_alloca() which uses stack memory always and doesn't need to be freed explicitly. 2012-12-11 15:10:19 +00:00
Campbell Barton
e2f0a1e4db own cleanup commit in bmesh branch - removed last letters from ends of some comments. 2012-12-11 14:24:27 +00:00
Campbell Barton
0526fcf13f revert part of r52720, Id rather leave these as-is, even if they give warnings under some configurations. 2012-12-03 08:11:04 +00:00
Campbell Barton
17c2621fd1 bridge tool - simple optimization, break early if edge loop length comparisons are worse then existing best loop test. 2012-12-03 05:02:32 +00:00
Campbell Barton
a490f4f7c4 fix [#33391] Bridge two Edgeloops fails in simple case 2012-12-03 04:53:30 +00:00
Bastien Montagne
818a345be3 Silent a bunch of gcc warnings (usually dummy, but noisy!). 2012-12-02 16:01:06 +00:00
Campbell Barton
5446dc0bf3 fix for various asserts running operator tests - not likely any of these would cause real user bugs though. 2012-11-30 16:41:43 +00:00
Campbell Barton
07ccd3ee3f fix [#33029] Applying modifier leaks memory
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
2012-11-29 16:26:39 +00:00
Campbell Barton
cac253a502 fix for minor annoyance - when extruding a circle there would always be one face flipped, now edges are all ordered in the same direction. 2012-11-28 14:15:54 +00:00
Nicholas Bishop
71e7f9028f Copy face attributes when creating new faces in BMO_symmetrize
Fixes bug [#33269] Symmetrize doesnt honor shadesmooth
projects.blender.org/tracker/index.php?func=detail&aid=33269&group_id=9&atid=498
2012-11-28 05:07:04 +00:00
Campbell Barton
c5a8bd498d use radians for 'spin' bmesh operator (since the rest of the py api uses radians). also rename BMO_OP_SLOT_SUBTYPE_MAP_FLOAT -> BMO_OP_SLOT_SUBTYPE_MAP_FLT for consistency. 2012-11-28 00:47:33 +00:00
Campbell Barton
8ecce451ab bmesh operator naming - use clearer names for args eg: (mat -> matrix, use_singleedge -> use_single_edge)
also remove duplicate docs for operator arg formatting.
2012-11-28 00:16:06 +00:00
Campbell Barton
c00a1b7493 use clearer names for 'single' bmesh operator args & add '%e' to BMO_op_vinitf comments. 2012-11-27 09:41:08 +00:00
Campbell Barton
a9855c227e py/bmesh api - add support for single item buffers (odd feature but used quite a bit with bmesh operators).
also add utility functions BMO_slot_buffer_from_single(), BMO_slot_buffer_get_single()
2012-11-27 09:21:57 +00:00
Campbell Barton
90666d3436 code cleanup: bmesh operator comments, readying for doc-generation. 2012-11-27 06:53:26 +00:00
Campbell Barton
9982b283e6 fix for asserts added in own recent commit with more strict type-checking
- BMO_slot_copy now only copies compatible elements.

other minor changes
- don't use text.format(...), convention for UI scripts is C style string formatting.
- rename bmo_edgenet_prepare --> bmo_edgenet_prepare_exec
- float/double warning in bevel.
2012-11-27 02:34:40 +00:00
Campbell Barton
f8bc346eff bmesh/py operator api:
add type checking for element buffers, there was nothing stopping python from passing any element type into an argument when in some cases only verts/edges/faces were expected.
now operator args define which types they support.
2012-11-27 00:50:59 +00:00
Campbell Barton
f9e339ef00 fix/workaround [#33281] script goes into not responding
scanfill remove-doubles pass assumes ordered edges (as with curves), otherwise it can hang.
workaround this problem by skipping removing-doubles for mesh ngons, since this isnt such a common case as it is with curves and we can just not support it.
2012-11-26 23:18:04 +00:00
Campbell Barton
a91814e94d style cleanup 2012-11-26 11:03:14 +00:00
Brecht Van Lommel
cf2c459325 Fix #33285: loop cut is not supposed to cut through triangles/ngons, but it
still happened  when the loop would go all the way around the mesh with just one
triangle/ngon inbetween to close the loop.
2012-11-26 06:59:59 +00:00
Campbell Barton
3d64381e4d use more rigid type checking for bmesh slot subtypes. 2012-11-26 03:16:29 +00:00
Campbell Barton
0446e2571f fix for inset getting bad UV's/VCols at face boundaries. 2012-11-23 05:49:00 +00:00
Campbell Barton
55535b21fe fix own error - remove doubles slot name. 2012-11-22 01:00:40 +00:00
Campbell Barton
ebaf1306b8 bmesh operator api:
avoid per vert/edge/face string lookups in BMO_slot_map_* functions --- used in array modifier, subdivide, remove doubles and other tools.
2012-11-20 13:29:27 +00:00
Campbell Barton
dbdc76c9d0 code cleanup: make bmesh operator names more consistant since python has access to these as input arguments and return values.
all output values currently have ".out" suffix, this may go in the future, but for now it makes it clear in C code what are inputs and outputs.
2012-11-20 05:50:19 +00:00
Campbell Barton
e8667421ed bmesh operator api edits, add macros and NULL the buffer if BMO_slot_buffer_alloc()'s len is zero. 2012-11-20 03:29:12 +00:00
Campbell Barton
7cafd45f2b fix for crash in wireframe tool with verts that only have one boundary edge (degenerate cases - edge with 3+ faces using it). 2012-11-20 00:33:11 +00:00
Campbell Barton
48639af5f8 use input and output slots for bmesh operators, needed for the python api to get return values. 2012-11-19 14:58:31 +00:00