Campbell Barton
4737722968
Fix error joining tris -> quads
...
Incorrect flag check, would need to run multiple times.
2015-05-24 21:54:21 +10:00
Campbell Barton
f01c6e185f
Cleanup: typos
2015-05-23 22:38:47 +10:00
Campbell Barton
ed2cb8de2f
Fix for join faces ignoring angle limit
...
Angle limit for join-faces was more advice then actual limit.
Now joining entire selection, gives assurance that no faces above the limit will be merged.
The purpose of this was to allow users to isolate 2 faces and always join them.
Instead, support this by bypassing limit only when its not set and 2 faces are selected.
2015-05-22 18:14:03 +10:00
Campbell Barton
476feb622c
BMesh: extrude region didnt copy edge flags
...
Newly created edges around regions wouldn't get the edge flags from surrounding geometry.
2015-05-22 11:00:14 +10:00
Campbell Barton
03eee4dce7
BMesh: decrease decimate epsilon
...
Since using doubles to calculate cost,
using topology fallback cost isn't needed as much.
2015-05-21 22:46:33 +10:00
Campbell Barton
e37c4e5819
Fix T44780: Decimate planar creates concave edges
...
Float precision was causing problems for decimate,
small faces that create a nearly flat surface were detected as having no 'cost' to collapse.
2015-05-21 21:06:30 +10:00
Campbell Barton
aa54d93a29
BMesh: decimate improvement for flat surfaces
...
Previously decimate on flat areas of a mesh would more or less randomly collapse edges.
(giving bad topology).
This commit includes a topology 'cost', so smaller edges on flat surfaces collapse first.
2015-05-21 16:41:08 +10:00
Campbell Barton
b5bf5b36f1
BMesh: decimate, test for face flip was too low
...
Created overlapping faces in T44780
2015-05-21 00:00:13 +10:00
Campbell Barton
24e1d7f4f4
BMesh: decimate wasn't using face/edge centers
...
When calculating quadrics, using the first-vertex isn't correct.
2015-05-21 00:00:13 +10:00
Campbell Barton
5d30c23c35
doxygen: corrections/updates
...
Also add depsgraph & physics
2015-05-20 14:12:22 +10:00
Campbell Barton
07e9fb8ec6
BMesh: calls to store selection at the list head
2015-05-19 23:51:57 +10:00
Campbell Barton
d3cc7419a3
BMesh: add BM_edge_pair_share_face_by_len
2015-05-19 23:51:57 +10:00
Campbell Barton
02cbc3c1e0
Cleanup: indentation
2015-05-17 17:25:57 +10:00
Campbell Barton
3aa4a0e787
BMesh: add UV delimit for select-linked, dissolve
2015-05-16 12:21:31 +10:00
Campbell Barton
05c4c2409e
BMesh: add sharp edge delimiter
2015-05-16 10:18:38 +10:00
Campbell Barton
31e96cbf96
Cleanup: style, spelling
2015-05-15 23:38:53 +10:00
Campbell Barton
547b676181
BMesh: add loop-shell walker
2015-05-15 17:07:57 +10:00
Campbell Barton
bc371030a7
BMesh: rename loop walker -> edgeloop
2015-05-15 10:55:56 +10:00
Campbell Barton
097862cb26
GHash: avoid redundant casts
2015-05-11 12:39:39 +10:00
Campbell Barton
4d7b0e4fe3
Correct own error: is_manifold_region on wire vert
2015-05-07 05:23:07 +10:00
Campbell Barton
e5e73ccc90
Math Lib: rename fill_*, to copy_*
...
matching convention for fixed length api, eg: copy_v3_fl
2015-05-05 17:08:29 +10:00
Campbell Barton
ea5f9fee8d
Cleanup: function arg wrapping
2015-05-05 16:34:38 +10:00
Campbell Barton
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
Campbell Barton
e59bd19fa7
Cleanup: style & const's
2015-05-05 05:19:49 +10:00
Campbell Barton
dd48ddd605
BMesh: utility to split isolated loop regions
2015-05-03 06:16:59 +10:00
Campbell Barton
33cc5ed495
Cleanup: redundant vars
2015-05-03 06:16:59 +10:00
Campbell Barton
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
Campbell Barton
de031b7c89
BMesh: replace radial count with simple checks
2015-05-03 04:41:39 +10:00
Campbell Barton
53d08ec506
BMesh: BM_mesh_edgesplit
...
Did quite a few checks not to tag bad splits (which wasn't working perfectly)
Instead rely on BM_vert_separate not to create invalid geometry.
2015-05-02 16:24:46 +10:00
Campbell Barton
f283b959e7
BMesh: BM_vert_separate double edge fix
...
Splitting edges could give duplicates.
2015-05-02 16:24:35 +10:00
Campbell Barton
c276cfb3c0
BMesh: return error on mesh validate
2015-05-02 15:52:27 +10:00
Campbell Barton
a5869945c6
Cleanup: bmesh src/dst order in API args
2015-05-02 15:46:03 +10:00
Campbell Barton
5e1c729882
Cleanup: use function attrs for BMesh inline funcs
2015-05-02 15:45:57 +10:00
Brecht Van Lommel
d3c4553552
Fix a couple of harmless compiler warnings.
2015-05-01 19:18:26 +02:00
Bastien Montagne
74d31279cd
Fix T44560: Merge Collapse tool - UVs operator panel option ignored with Collapse but not with other merge types.
...
Was missing parameter for collapse bmesh operator...
2015-05-01 17:10:39 +02:00
Campbell Barton
f8bdd8e6a8
BMesh: correct bmesh_edge_vert_swap
...
Missed swapping out loops.
2015-05-01 06:51:16 +10:00
Campbell Barton
6111da3629
BMesh: add bmesh_disk_vert_replace
2015-05-01 06:18:04 +10:00
Campbell Barton
e9dcb068c7
Fix T44484: Edge-split corrupts mesh
...
Splitting non-manifold edges could produce duplicate edges.
2015-04-30 07:22:18 +10:00
Campbell Barton
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
Campbell Barton
53662bcaf1
BMesh: simplify/optimize loop splitting logic
...
To split off a single loop, was splitting all fans off the vertex, then merging back together (except for one).
Now simply splits off one loop.
2015-04-30 06:24:33 +10:00
Campbell Barton
26541b7488
BMesh: refactor edge-vert swapping into API call
2015-04-30 06:24:32 +10:00
Campbell Barton
67fcb04bbf
BMesh: minor change to swap-vert api
...
- assert if the verts not in the edge (all callers assume success)
- rename to bmesh_disk_vert_swap
- swap src/dst arg order.
2015-04-30 06:24:32 +10:00
Bastien Montagne
78956b6a83
Fix T44542: 'extend selection' editmode tool would select hidden elements.
2015-04-29 17:19:20 +02:00
Campbell Barton
3acc1ba49c
Add macro BLI_SMALLSTACK_AS_TABLE
...
Use for edge-split (a little less overhead compare to popping each item).
2015-04-29 23:59:48 +10:00
Campbell Barton
7232157357
Correct comment
2015-04-29 20:16:40 +10:00
Campbell Barton
65a9592660
BMesh: optimize edge split
...
Avoid hashing edges when splitting into fans,
Instead, walk & split fans until they're all done, gives approx 40% speedup.
2015-04-29 19:43:32 +10:00
Campbell Barton
179ffefce5
BMesh: replace smallhash flag for checking doubles
2015-04-29 19:43:21 +10:00
Campbell Barton
e1ecd39f0e
BMesh: avoid over-counting vert-edges
2015-04-29 19:42:06 +10:00
Campbell Barton
43616918f3
Cleanup: const correctness
2015-04-28 23:15:48 +10:00
Campbell Barton
2edb342ffa
Fix for Clang type check
2015-04-28 18:59:47 +10:00