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
Campbell Barton
7e36c280c2
Cleanup: redundant checks
2015-04-28 16:47:45 +10:00
Campbell Barton
3524676036
BMesh: increase subdiv smooth strength
...
Now 1.0 gives near spherical output
2015-04-26 21:26:45 +10:00
Campbell Barton
2069187a1b
Cleanup: bmesh subdivide
...
var names were a bit cryptic, set return arg last.
2015-04-26 20:34:03 +10:00
Campbell Barton
2374cb380b
BMesh: subdiv smooth, use simpler even calculation
...
Was checking all vertices adjacent faces,
now just compare the difference between normal angles.
Also default to inverse-square for loopcut-subdiv falloff.
2015-04-26 19:20:34 +10:00
Campbell Barton
e1ca127419
Cleanup: subdivide smooth vertex placement
2015-04-26 19:12:20 +10:00
Campbell Barton
c2f7cffd56
Add inverse-square falloff to bmesh, mask & compo.
2015-04-26 18:31:54 +10:00
Campbell Barton
d33314393e
BMesh: use const for API calls
2015-04-26 17:19:51 +10:00
Campbell Barton
12e7c7f674
BMesh: BM_ELEM_CD_GET_VOID_P cast removed const
2015-04-26 17:19:51 +10:00
Campbell Barton
01dda9a434
correct own error in recent ngon creation edit
2015-04-25 21:16:58 +10:00
Campbell Barton
89f5a09ab4
Cleanup: use 8 space indent for multi-line args
2015-04-25 20:15:20 +10:00
Campbell Barton
a7381cca34
BMesh: simplify BM_face_create_ngon
...
Was doing quite a lot of unnecessary steps.
Now construct the sorted verts, edges /w error checking, in a single loop.
2015-04-25 17:26:22 +10:00
Campbell Barton
0626d27bf6
Editmesh select nearest fixes
...
- distance from edge check wasn't clamping 0-1
- vertex bias wasn't taking pixelsize into account.
- index & pass counter were floats
Also some improvements
- use BMesh lookup tables when available.
- use structs to avoid issues getting out of sync.
2015-04-21 01:50:21 +10:00
Campbell Barton
45e929dc12
Cleanup: redundant casts
2015-04-18 00:16:05 +10:00
Campbell Barton
02fba106fa
Dyntopo: save 4 bytes per BMLogVert
2015-04-17 18:07:08 +10:00
Campbell Barton
e05f719b8b
Dyntopo: avoid redundant lookup on original data
2015-04-17 17:34:14 +10:00
Campbell Barton
99299da4b5
Cleanup: warnings, ws
2015-04-16 01:12:22 +10:00
Campbell Barton
240c5704e4
BMesh: Missed normal from example /w skip-cd flag
...
We may still want to use the normal as a reference but skip customdata.
2015-04-15 20:56:11 +10:00
Campbell Barton
d36429b930
initialize members in-order
2015-04-14 18:41:01 +10:00
Campbell Barton
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
Campbell Barton
e688ba0304
GHash: use unsigned int for ghash_size
2015-04-13 13:45:48 +10:00