Commit Graph

168 Commits

Author SHA1 Message Date
e30f0427a5 Fix error in BM_face_exists_overlap_subset
Was re-using loop index, thanks to @bzztploink for spotting!
2016-05-05 01:35:09 +10:00
4e500101a7 Cleanup: quiet -Wcomma, cast to void where needed 2016-03-05 09:16:12 +11:00
3afa72b6c7 BMesh: BM_loop_share_edge_check utility func 2015-12-27 22:39:22 +11:00
4a356d767b BMesh: BM_verts_from_edges utility function 2015-12-24 20:30:02 +11:00
44b593ae2d Add BM_vert_edge_pair utility function 2015-12-23 16:08:23 +11:00
b51f730b0c Fix error in BM_vert_is_edge_pair
Returned true for verts with a single edge.
2015-12-23 16:08:20 +11:00
b6a49eb949 BMesh: add BM_face_share_vert_check/count 2015-12-17 18:06:05 +11:00
c5ac037c8e BMesh: pass loops instead of edges/verts to filter funcs
This allows to check the source face we're walking over.
2015-11-28 13:40:18 +11:00
a28e014313 BMesh: Add API call BM_face_calc_point_in_face
Was local to knife code, but this is generally useful.
2015-11-27 22:08:16 +11:00
605a2c8490 Cleanup: warning, style 2015-09-21 06:59:50 +10:00
0d4cca6593 Fix edge/vert slide UV-correct & zero length edges
When calculating loop angle weighting, skip overlapping vertices.
2015-06-24 09:54:23 +10:00
dc1586063b BMesh: correct flag check (own mistake) 2015-05-28 12:11:35 +10:00
f01c6e185f Cleanup: typos 2015-05-23 22:38:47 +10:00
d3cc7419a3 BMesh: add BM_edge_pair_share_face_by_len 2015-05-19 23:51:57 +10:00
3aa4a0e787 BMesh: add UV delimit for select-linked, dissolve 2015-05-16 12:21:31 +10:00
4d7b0e4fe3 Correct own error: is_manifold_region on wire vert 2015-05-07 05:23:07 +10:00
22bbd1c512 BMesh: improve rip tool /w mon-manifold verts
Can now rip from multiple fans (mixed single faces or larger regions)

Also add BM_vert_is_manifold_region which only checks if a vert has disconnected fans.
2015-05-05 07:22:35 +10:00
33cc5ed495 Cleanup: redundant vars 2015-05-03 06:16:59 +10:00
bd5e578804 BMesh: rework BM_vert_is_manifold (simplify logic)
- simplify boundary handling (walk from boundary - no need to reset walking)
- early exit when the vert has >2 boundaries
- use BM_vert_step_fan_loop to walk the fan
2015-05-03 04:46:24 +10:00
de031b7c89 BMesh: replace radial count with simple checks 2015-05-03 04:41:39 +10:00
c2f7cffd56 Add inverse-square falloff to bmesh, mask & compo. 2015-04-26 18:31:54 +10:00
d33314393e BMesh: use const for API calls 2015-04-26 17:19:51 +10:00
89f5a09ab4 Cleanup: use 8 space indent for multi-line args 2015-04-25 20:15:20 +10:00
6fb0563aee BMesh: optimize BM_face_exists
Avoid flagging/clearing flags,
just walk over the face until a mismatch is found.
2015-04-14 15:27:08 +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
4c58cb8bd9 Correct assert 2015-03-16 13:39:27 +11:00
7df60becb9 BMesh: Add extended BM_vert_calc_edge_angle that takes a fallback value 2015-03-06 18:45:00 +11:00
8c6073db11 BMesh: BM_loop/edge_point_side_of_loop_test
change behavior to use a negative number when outside,
and return the signed, squared distance.
2015-03-03 00:26:13 +11:00
ced19783fd Fix mismatch (missing 'const' to mactch funcs declarations).
Was breaking windows compile, reported by bdancer over IRC, thanks.

Also, quite some annoying 'unused vars' warnings (debug-only vars).
2015-02-23 13:57:02 +01:00
fd75796afe cleanup: use const 2015-02-02 01:23:08 +11:00
bd00770715 Cleanup: consistent arg order in bmesh 2015-01-14 01:36:03 +11:00
aab4f2b762 cleanup: redundant casts & const cast correctness 2015-01-01 23:42:28 +11:00
591eb27efa BMesh: check for loop side-of-loop & side-of-edge 2014-11-21 14:16:35 +01:00
46e2d5ee41 Cleanup: typo 2014-11-21 14:16:35 +01:00
1ddfe6676d BMesh: shrink/fatten faces-normals in face mode
nice for solid-modeling, gives better results for partial selections.
2014-11-13 16:41:56 +01:00
b7174c9320 Fix connect-vertices failing for concave ngons
Also add:
- generic callback for bmesh elements.
- ability to pass an existing array to a bmesh operator.
2014-11-02 00:09:14 +01:00
133f79e449 Cleanup: warnings, typos 2014-10-29 14:15:21 +01:00
9cfcddc8f4 Dyntopo: minor speedup collapsing edges 2014-10-06 12:16:06 +02:00
58659fc207 BMesh: Add BM_vert_pair_share_face_check
Use to assert if BM_vert_splice is used incorrectly
2014-07-17 08:20:04 +10:00
f32079d4b9 BLI_stackdefines
Bounds check the stack while debugging, also add STACK_PEEK
2014-06-29 05:57:48 +10:00
e947dd8cd7 BMesh: add BM_vert_is_edge_pair(), faster then checking (BM_vert_edge_count(v) == 2) 2014-06-27 20:28:32 +10:00
c5ccbacdaa move STACK_* macros into BLI_stackdefines.h 2014-06-25 00:01:33 +10:00
bdf477d19a BMesh: add check to BM_vert_pair_share_face to allow adjacent loops
Add BM_vert_pair_share_face_by_angle to avoid selecting concave splits.
2014-05-13 16:49:57 +10:00
a51a0ca772 Math Lib: add shell_v3v3_normalized_to_dist and v2 version
bypass angle calculation to avoids (asin, sqrt, cos).
2014-04-19 22:17:10 +10:00
caf8684b50 EditMesh: Support contracting the selection as well as extending
This allows for holding ctrl while switching from face->edge modes to
select an edge-ring.
2014-03-17 00:25:34 +11:00
4ae6c5cd77 BMesh: minor optimization, step over own loop in BM_face_exists 2014-03-12 18:30:38 +11:00
fed1b8b16d Code cleanup: suffix vars to make obvious they are squared 2014-02-03 02:46:45 +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
133bc4b991 BMesh API: optimize BM_edge_exists(). 2013-12-23 16:57:39 +11:00
63a2cc2ab7 BMesh API: make simple, low level functions inline 2013-12-23 16:03:07 +11:00