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
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
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
f70d2c65d8
rename api functions...
...
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23 13:28:22 +00:00
a82af0d220
add option to planar decimator to collapse all verts that define face boundries (verts that 2 faces share and have 2 edge users).
...
avoids ugly stepping between faces when applying on curves surfaces. (but less useful for architectural style models)
2012-10-23 06:13:56 +00:00
bbe0deb8af
add limited dissolve as a decimation type to the decimate modifier.
2012-10-23 05:20:02 +00:00
e75f5c8208
quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
...
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00
90d215535e
add option so operators can be called with a flag, currently the only flag is to respect hidden geometry.
...
this is useful for bmesh tools that operate in object mode or for modifiers which would previously use hidden faces in some cases.
2012-07-21 00:58:02 +00:00
32cf7fcdb1
code cleanup: spelling
2012-07-16 23:23:33 +00:00
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00
32ba51c4a1
fix for limited dissolve (after sine intended fixes - not cleaning up before vertex dissolve would skip dissolving some verts that should be dissolved).
...
now do this:
- edge dissolve
- cleanup (removing edges left over from dissolving faces)
cleanup removes verts and NULL vertex input array
- dissolve verts which haven't been removed.
2012-05-06 18:37:08 +00:00
65b5362c74
fix [ #31235 ] Limited Dissolve problems
...
this is in fact 2 bugs.
- unselected edges between 2 faces that were joined didnt get removed.
- in face mode, edges and verts at the boundary of the selection would get incorrectly dissolved.
also quiet float/double promotion warning.
2012-05-04 15:02:02 +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
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
75b869e428
style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER
2012-04-19 11:44:12 +00:00
f1ececaabb
code cleanup: replace use of BM_edge_face_count with BM_edge_is_manifold and BM_edge_is_boundary
2012-04-18 06:44:48 +00:00
bd613739ae
bmesh todo: remove unused code.
2012-04-16 10:29:59 +00:00
52023f9e88
bmesh todos:
...
- curve undo now runs ED_curve_updateAnimPaths() again.
- comment out unneeded index setting.
2012-04-16 08:04:12 +00:00
8fa17c5362
code cleanup: no functional changes
...
- memset(..., -1) is used incorrectly even though it worked: MOD_solidify.c - thanks Halley from IRC for noticing this. use fill_vn_i() instead.
- quiet warnings in editmesh_slide.c
- cleanup comments in bmesh and some other minor comment additions.
2012-04-07 12:37:15 +00:00
58064bdfc4
code cleanup: add doxygen headers to bmesh operator files, also add own include so definitions dont get out of sync.
2012-04-06 09:21:19 +00:00
784beb4338
adjust limited dissolve to take face angle into account when dissolving vertices between manifold edges.
...
stops artifact with zig-zag patterns between _almost_ planer faces.
2012-04-05 01:20:32 +00:00
4f2fb41fb6
fix [ #30809 ] Limited dissolve leaves edges behind
2012-04-04 15:10:20 +00:00
1635d8e873
add option not to delete edges/verts when joining faces, needed so we can loop over edges and join them without having to check if they have been removed.
2012-04-04 14:48:10 +00:00
c7aed8b2af
For BMesh functions that test flags, add enabled/disabled variants.
2012-03-30 17:30:49 +00:00
f87c5b3453
fix [ #30715 ] bmesh: select linked not ignoring hidden verts/edges/faces
...
add optional flag to ignore hidden elements.
also remove loop mask flag - since it wasnt used and vert/edge/face is enough.
2012-03-29 13:09:07 +00:00
8aa42f309c
print error if rip does nothing (rather then grabbing the unripped verts as it did before)
2012-03-28 08:00:58 +00:00
ab4a2aaf4a
style cleanup: follow style guide for formatting of if/for/while loops, and else if's
2012-03-24 06:38:07 +00:00
7044d80639
code cleanup: remove BMesh * args from query functions which don't need it
2012-03-22 07:53:11 +00:00
6f104aad3a
code cleanup: bmesh api - make arg order consistent - htype before hflag or oflag.
2012-03-19 08:36:27 +00:00
4f19c1a995
spelling cleanup
2012-03-18 07:38:51 +00:00
17786b3b3e
building without python works again, cleanup bmesh include paths (cmake and scons).
2012-03-08 03:25:53 +00:00
d1937de1d2
fix for own error in edge-rotate keeping edge customdata - this was crashing when rotating multiple edges.
...
Now create the rotate edge in advance and copy its customdata (before joining the faces).
This commit also fixes an annoyance where tryangulating faces could create duplicate edges.
2012-03-06 19:29:05 +00:00
4b940364a1
edge rotate now keeps edge properties (like seam, crease, bevel weight.. etc)
2012-03-05 01:53:30 +00:00
21280a6386
Code Cleanup - naming consistancy for bmesh struct types
2012-03-02 12:44:34 +00:00
9aafe32147
bmmesh api - use struct rather than int[4] to initialize mesh sizes.
...
also correct bad assert() in previous commit.
2012-03-01 20:09:17 +00:00
522b73a635
bmesh api:
...
* name bmesh operator func's BMO_slot_buffer_* rather then BMO_slot_* since it wasnt obvious some only dealt with buffer, some both.
* more typechecks and asserts of BMO_ functions (I lost some time calling a map with a buffer function that failed silently).
* small speedup for extrude check - test if the edge is wire _before_ doign a hash lookup.
2012-03-01 17:38:04 +00:00
1f473a78b8
Code Cleanup: remove bmesh_radial_loop_next() function,
...
just access l->radial_next
2012-03-01 17:13:02 +00:00
216f74880e
style cleanup: bmesh - have continue on new line, also avoid unneeded loop in bmo_extrude_face_region_exec() in some cases.
2012-03-01 13:13:08 +00:00
b0a09bfab3
code cleanup:
...
use bmo_* prefix for operator defs, was confusing with bmesh_* api functions.
2012-02-28 09:48:00 +00:00
e17bf02c2d
Code Cleanup:
...
* made bmesh_structure.h function names more consistant.
* remove unused code in bmesh_structure.c
* removed 'Edge Flip' operator (missing from bmesh but looked into trunk feature and dont think its worth keeping).
* tagged some BMESH_TODO's
2012-02-27 13:47:53 +00:00
1004b03578
bmesh - remove faces with <3 sides after dissolve/collapse (most tools already did this).
2012-02-26 05:48:12 +00:00
ff7ddb1925
change vertex dissolve not to collapse edges when its only connected to 2, rather then joining the faces on either side.
...
This way. IMHO is more useful since it means you can simplify the geometry between faces without joining them and it distinguishes vertex dissolve more from edge dissolve - which will join both faces still.
2012-02-26 05:04:30 +00:00
55e68985e7
bmesh api:
...
* added BM_elem_flag_set, BMO_elem_flag_set. to avoid 'if(...) enable(); else disable();' all over the place.
* added bmesh_operator_api_inline.c, the header file was getting messy.
2012-02-25 19:43:51 +00:00
09ee59c669
bmesh minor api refactor
...
* BM_vert_in_face now loops over a vert's faces rather then every vert in the face.
* rename bmesh_radial_find_first_facevert --> bmesh_radial_find_first_faceloop
* rename bmesh_radial_find_next_facevert --> bmesh_radial_find_next_faceloop
* rename BM_vert_collapse_edges --> BM_vert_collapse_edge (only collapses one)
2012-02-23 09:26:53 +00:00
1953f042e6
added boolean type for bmesh operators, will make python wrapping clearer and also makes existing calls more obvious.
...
also corrected some error reports.
2012-02-20 01:52:35 +00:00
afc56a0b10
copying bmesh dir on its own from bmesh branch
2012-02-19 18:31:04 +00:00