Commit Graph

105 Commits

Author SHA1 Message Date
aaa56782d3 BMesh: move BM_face_split_edgenet to its own file
Isolate edge-net splitting in preparation for other functions to be added here.
2015-12-09 16:24:52 +11:00
9c044b4773 BMesh: new API call to collapse an edge
Existing collapse functions were strict regarding the number of verts sharing an edge.
BM_edge_collapse allows any edge to be passed in without first having to manipulate geometry.
2015-11-19 22:52:17 +11:00
93fb07fbd5 BMesh: bmesh_jekv check for degenerate faces
Move check for degenerate faces from BM_vert_collapse_faces into bmesh_jekv.
2015-11-19 22:52:17 +11:00
bed91b623f Edge/Vert slide: improve multires interpolation
Need to re-interpolate the entire face, not just the connected loop.

Also add BM_face_interp_multires()
2015-11-03 20:38:23 +11:00
f75d6c4a8f BMesh: add BM_loop_interp_multires_ex which takes cached vars
Avoid recalculating face centers (for each loop) when interpolating multires.
2015-11-03 18:28:13 +11:00
5d30c23c35 doxygen: corrections/updates
Also add depsgraph & physics
2015-05-20 14:12:22 +10:00
3ef27ec807 BMesh: add BM_face_loop_separate_multi
New utility function to handle splitting off multiple loops from a face at once.
2015-04-30 06:24:33 +10:00
89f5a09ab4 Cleanup: use 8 space indent for multi-line args 2015-04-25 20:15:20 +10:00
690b90f1e2 BMesh: minor optimization counting adjacent data
add BM_***_count_is_over(), _count_is_equal()

Useful if we only want to know if the count is a smaller value.
2015-04-12 17:38:14 +10:00
d580c90469 CustomData: const correctness for interp() 2015-02-23 13:54:33 +11:00
133f79e449 Cleanup: warnings, typos 2014-10-29 14:15:21 +01:00
07d161bb38 Comments: update for changed args 2014-09-28 19:19:58 +10:00
90e1746d89 BMesh: correct flag use
Allowed fill to make duplicate faces
2014-08-21 13:08:13 +10:00
7bca8be24d BMesh: improve docs for BM_edge_split 2014-08-20 12:44:11 +10:00
4795b61c1b Cleanup: assert / warn 2014-08-18 16:05:06 +10:00
a04a8039f0 Code cleanup 2014-07-18 11:55:59 +10:00
ebd04f581d Correct error in recelty added BM_face_split_edgenet
Was copying UV's to unrelated faces
2014-07-17 17:12:32 +10:00
cfbc495b8d BMesh: minor speedup to BM_face_split_edgenet 2014-07-13 13:53:08 +10:00
9327816593 Correct error in BM_face_split_edgenet when no faces are split 2014-07-12 08:44:19 +10:00
48abc65c39 BMesh: new face splitting function BM_face_split_edgenet
This takes a face and an edge-net, splitting the face into regions
defined by the edge-net.
2014-07-11 10:29:53 +10:00
c3deb16c16 BMesh: add ability not to delete vertex when collapsing 2014-06-27 20:28:02 +10:00
4ca67869cc Code cleanup: remove unused includes
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-05-01 04:47:51 +10:00
668250deb8 BMesh: minor change to looping 2014-04-12 13:06:08 +10:00
4614c63d5d BMesh: bmesh_sfme now initializes the copy 2014-04-08 12:58:57 +10:00
7bb84912ef Code cleanup: ifdef debug only checks and simplify manifold test 2014-03-25 07:54:41 +11:00
b69809c820 Fix T39331: Dissolve vertex crash 2014-03-24 16:37:10 +11:00
702f374972 Fix for possible (unlikely) uninitialized var use in BM_face_split 2014-03-13 18:41:44 +11:00
a0f25f2301 Fix own mistake with zealous check for face splitting
Was disallowing adjacent loops to be split which is correct for a single
split across a face, but not fore BM_face_split_n
2014-01-21 12:27:38 +11:00
04a902965e BMesh optimize face splitting by taking loops rather then verts
- add BM_vert_pair_share_face
- add BM_loop_is_adjacent
- remove BM_verts_connect
2013-12-24 11:13:58 +11:00
63a2cc2ab7 BMesh API: make simple, low level functions inline 2013-12-23 16:03:07 +11:00
3c1dce0d9b fix for BM_faces_join_pair() making the assumption that only the 2 faces use an edge, face winding could be flipped incorrectly.
also remove search for shared edges - all callers pass the edge in.
2013-10-26 05:05:37 +00:00
55201ce48b Fix [#37160] Rotate edge direction changed between 2.64 and 2.65 (low priority)
Easy to fix, but do not really understand *why* this is needed...
2013-10-21 11:13:39 +00:00
d6b9fb36d8 fix leak in BM_face_split() with multires if the split failed.
also remove redundant normal copy.

only triangulate the mesh if its needed when enabling dyntopo.
2013-08-23 13:00:43 +00:00
8937a8b839 use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
72f2917032 bmesh: skip error checks when building in release mode (minor speedup),
also more strict use of BLI_array_declare(), only allow after array is declared.
2013-07-28 09:05:27 +00:00
d68917cb86 code cleanup: typos 2013-07-27 07:02:27 +00:00
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
aa0caa448e utility bmesh functions, for edge loop creation, optionally pass array BM_edge_split_n() to get verts created. 2013-05-22 06:00:26 +00:00
347e2b6cb0 code cleanup: make bmesh var names more consistent 2013-03-09 17:12:24 +00:00
b27854bd47 use booleans for bmesh api. 2013-01-14 16:42:43 +00:00
f6c14d430f minor speedup - replace use of smallhash with api_flags for BM_edge_split() 2012-12-11 14:30:12 +00:00
e2f0a1e4db own cleanup commit in bmesh branch - removed last letters from ends of some comments. 2012-12-11 14:24:27 +00:00
d72a6c3018 fix for another error in my own recent commit, beauty fill crashed. 2012-11-30 16:15:49 +00:00
6cdb555e6e bmesh refactor - rename some of the BM_****_share_****_count() functions to BM_***_share_check()
some of these were only returning a boolean, others returned a count even though only a boolean was needed.

split some of the functions in two as well where check/count are both needed.
2012-11-09 14:52:05 +00:00
95ddd19d13 fix for build error in own commit with non gcc compilers. (and remove invalid comment) 2012-10-25 07:53:11 +00:00
1767b65846 style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.c 2012-10-23 03:38:26 +00:00
aacdd76c06 fix for 2 cases BM_disk_dissolve() could fail/assert.
- when there was a vertex with 2 boundary edges and one manifold edge (vert at the boundary between 2 quads) it could assert.
- when there is a vertex with 2 boundary verts connected that both use the same face, it would do nothing.
2012-10-16 09:11:07 +00:00
0d5d2146eb code cleanup: make shape key api names consistent with our new convention. 2012-09-19 10:12:07 +00:00
32e4e0f873 add conjugate_qt_qt(), also some code cleanup and use const for 'rotOrders' var in math_rotation.c 2012-08-25 17:42:15 +00:00
e9caa21830 fix own error in recent smoothview cleanup, also correct some cross references in bmesh docs. 2012-08-17 14:43:20 +00:00