Commit Graph

344 Commits

Author SHA1 Message Date
3ee4be913b Fix #31139: fractal mesh subdivide was only working along normal where previously
it would displace in all directions. Now there's an operator option to control this.
2012-05-03 10:14:08 +00:00
6f0cb140b0 Initialize an input in bmo_hull. 2012-05-02 23:29:52 +00:00
d6be860d31 bmesh: use fixed stack size for face flipping array.
also quiet unused var warnings
2012-05-02 11:10:54 +00:00
5d4fd04f05 Fix #31230: Grid primitive changes size with changing resolution 2012-05-02 09:03:15 +00:00
4cfa761951 source code style checker to, (similar to pythons pep8 checker)
currently checks for brace placement and some whitespace use.

can be accessed with:
  make test_style
or...
  source/tools/check_style_c.py  source/blender

also style cleanup on bmo_primitives.c
2012-05-01 20:36:39 +00:00
933b3166fc style cleanup: guys - set your editors to tabs! 2012-05-01 17:51:03 +00:00
b09ac48d0f Fix own error in BM_mesh_remap(), forgot to remap edge pointers in disk_links of edges, so wasn’t working at all with edges remapping! 2012-05-01 14:13:14 +00:00
1d743d11dc bmesh - python api
- bm.*.layers.*.verify()
- bm.*.layers.*.is_singleton
- bm.*.layers.*.copy_from(other)


also added api functons
- BM_data_layer_copy(...)
- CustomData_layertype_is_singleton(type)
2012-04-30 18:54:14 +00:00
8f3ed0501e code cleanup: quiet clang warnings, these would likely never but wont hurt to quiet them, 2012-04-30 10:47:32 +00:00
5979893711 style cleanup: edits to convex hull. 2012-04-30 10:39:35 +00:00
70f1279eab Add convex hull operator (bmesh operator and wm operator.)
Image-heavy user documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/Convex_Hull

Thanks to Campbell for providing code review:
http://codereview.appspot.com/6114060
2012-04-29 16:09:40 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
04d8ef3c47 wireframe option to crase edges at the hub, much nicer subsurf 2012-04-29 12:33:56 +00:00
41a5e731a2 bmesh: new wireframe tool
- makes wireframe from faces.
- options similar to inset (even offset, relative scale)
- copies face settings and loops (uvs, vcolors)
- optionally replaces the existing geometry.
2012-04-29 10:44:00 +00:00
4465d2f419 bmesh api functions, not used yet:
BM_iter_elem_count_flag()
  BM_iter_mesh_count_flag()
2012-04-28 18:39:37 +00:00
ef054e165c style cleanup: format 'for' loop macros the same as for loops, some renaming to BLI_array macros. 2012-04-28 15:14:16 +00:00
f8f7523fb2 fix memory leak in BM_face_copy()
note that this doesnt run when duplicating faces normally, only way to cause this bug I could find was to knife cut a 33+ sided ngon with multi-res applied.

also small improvement not to grow the array but allocate at once if needed.
2012-04-28 07:43:21 +00:00
b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
ef0a4c0ba9 fix for bevel modifier creating invalid geometry - simply tell BM_face_split() to check for doubles. 2012-04-26 15:38:16 +00:00
2118d3c19c code cleanup: bmesh comments/todos, no functional changes. 2012-04-26 08:27:50 +00:00
0daa5b0c47 bmesh: inset tool depth used bad normals for edge verts. 2012-04-26 03:40:10 +00:00
c4abd6cf5a code cleanup: edge slide code had oddly named variables, added some comments and renamed vars.
also made BM_elem_select_set() a function (was a macro calling a function).
2012-04-25 01:24:55 +00:00
47b6b60e5a code cleanup: no functional change - had both EDBM_editselection_* and BM_editselection_* funcs, replace EDBM_ funcs. 2012-04-24 21:19:18 +00:00
a667492d0e fix [#30997] Bevel angle option is broken (bevel vertex only) 2012-04-24 05:38:11 +00:00
f02694f5a4 workaround for vertex bevel modifier failing since the BMesh update. 2012-04-24 05:02:53 +00:00
077cbaddf0 - remove unneeded len_v3v3 in bevel code
- remove dead assignments from vgroup-blend
2012-04-24 04:44:51 +00:00
03f451f2f1 fix own error with subdivision (broke icosphere), also noticed icosphere vanished at subd-5 which didnt happen before bmesh. 2012-04-23 23:01:03 +00:00
8baa5fbde2 - fix for python freeing its own bmesh clearing the global mirror cache.
- fix for own mistake (Ctrl+T didnt set beauty peroperty).
- remove bad level includes in bmesh.
2012-04-23 04:24:11 +00:00
b51590d55d code cleanup: bmesh subdivide code - BM_mesh_esubdivideflag() & "esubd" bmesh operator was passing a flag about in a fairly confusing way.
since we will eventually have python bmesh operator access better expose this as multiple booleans.

remove remaining editbutflag's
2012-04-23 03:43:02 +00:00
792f536b36 code cleanup: better use of BLI_array_* (grow in larger steps where possible), include BMO_iter_new in for loops. 2012-04-23 02:17:57 +00:00
16ff7e40e6 code cleanup: change C naming convention (so py and C api match), eg:
C: BM_face_calc_area(f), Py: BMFace.calc_area()
2012-04-23 01:19:50 +00:00
5c89138684 style cleanup: comments 2012-04-22 11:54:53 +00:00
8765dfccf7 style cleanup: correct typos 2012-04-21 14:14:58 +00:00
1c54eaecd8 fix [#31049] New Faces (F) always solid shaded 2012-04-21 13:58:29 +00:00
2e20d3dc96 fix for error using uninitialized variable with shape key conversion. 2012-04-20 18:34:58 +00:00
b26865ba99 code cleanup: prefer BM_face/edge/vert_select_set() over BM_elem_select_set() when the type is known (saves switch statement check on the type).
Add asserts so the correct types are ensured.
2012-04-20 16:55:47 +00:00
ed81982049 knife tool alpha values where being set to zero (intersection points weren't visible), error made when converting to theme colors.
also minor bmesh style cleanup.
2012-04-20 13:45:38 +00:00
384f87cd1c rip tool wasnt working on a single edge selection in some cases (own error in recent fix). 2012-04-19 23:16:57 +00:00
028dbb132d add asserts for invalid iteratpr values so we can catch them in debug mode. 2012-04-19 22:40:09 +00:00
741a177a74 bmesh: improve rip tool
- When the rip extends into a fan, pick the opposite edge in the fan (rather then 2 along)
- When stepping over the fan to find the rip edge, walk in the direction closest to the mouse (generally works nicer)
2012-04-19 21:47:32 +00:00
ebbfcd71e5 Fixed crash in iter api, triggered by calling index_update() on the loop py seq in the py api. Note, I didn't fix the underlying problem (bad iter type) so loops.index_update() still isn't working (it's just not crashing). 2012-04-19 21:14:11 +00:00
e387ccdb42 bmesh inset: add depth option (make use of relative and even offset options) 2012-04-19 19:03:15 +00:00
b40476455e code cleanup: remove unused BMesh args. 2012-04-19 14:38:09 +00:00
475ecbb0ce remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases). 2012-04-19 13:47:58 +00:00
3ef7943910 code cleanup: first step to replace BM_ITER BM_ITER_INDEX macros. 2012-04-19 12:45:56 +00:00
7cadd242d3 BMESH_TODO: xsort of vertices working again.
This commits adds a new function which can remap vertices/edges/faces of a BMesh in a new given order:
void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
2012-04-19 12:31:39 +00:00
75b869e428 style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER 2012-04-19 11:44:12 +00:00
db2edfcfde bmesh api function: BM_edge_face_tangent()
was used by inset but make into an api function since scripts can use this too.
2012-04-19 11:25:05 +00:00
2251e05c30 Fix #31009: edge split did not split non-manifold edges correctly, it should
create a separate edge for each face.
2012-04-19 09:38:07 +00:00
84f3ade1e5 fix bevel edge angle (wasnt hooked up to new code), vertex-bevel angle isnt working still 2012-04-19 07:00:29 +00:00