ac7abb55d7
Cleanup: use 'const' for BMesh checking funcs
2015-11-03 17:06:56 +11:00
92ab3ba385
Fix T46648: Recalculate normals fails
...
Certain shapes could trick the inside/outside test.
An edge between 2 planar faces could be selected for detecting face-flipping (which failed).
While this could be prevented by skipping those edges,
use a method which searches for the outer most face-loop, then check it faces the center.
2015-10-31 13:52:28 +11:00
afe3b55483
Cleanup: warning & whitespace
2015-10-26 22:22:30 +11:00
b333a7570f
Cleanup: spelling
2015-10-07 15:02:06 +11:00
123b64f818
BMesh: improved smooth subdivision
...
Instead of offsetting along normals, smooth positions are now
calculated on a sphere defined by the vertices and their normals.
This removes visible seams along original edges, which were common previously.
2015-10-05 00:03:10 +11:00
74a2fa3095
BLI_Buffer: add BLI_buffer_reinit
...
Useful for re-using a buffer when the existing data can be thrown away.
2015-10-04 14:29:27 +11:00
09e40a4956
Cleanup: spelling
2015-09-14 02:22:22 +10:00
3e63c604e3
Partial revert of warning cleanup
...
These warnings are false-positives
2015-09-04 14:40:03 +10:00
Julian Eisel
ef629e0d50
Quiet warnings
...
We had too many warnings lately... was awaiting that someone would kill them - didn't happen -> goes to my commit ratio! :P
2015-09-04 01:04:37 +02:00
0018483dfa
error in last commit
2015-09-01 03:02:14 +10:00
705776db1f
Fix T45954: Inset w/ interpolated vertex color
...
Accumulating ubyte color was overflowing.
Thanks to @mont29 for suggested fix.
2015-09-01 02:51:30 +10:00
96fa58e22c
Math Lib: Add closest_to_plane helper functions
...
- closest_to_plane3 (for float3 planes)
- closest_to_plane*_normalized_v3 (for unit length planes)
Use when the plane is known to be unit length
2015-08-31 20:10:36 +10:00
c2c4e02d41
Fix T45620: Coplanar faces w/ flipped normals not selected
2015-08-03 20:47:37 +10:00
1b8afac652
Cleanup: remove redundant normalize
2015-08-03 20:47:36 +10:00
93d1acfb5c
correct ifdef
2015-08-02 23:36:42 +10:00
e31f8e756f
Fix T45582: Connect vertex hangs
...
With multiple branches it was possible the search could run for a long time,
especially when there was no possible path to the target.
Now use a heap to keep track of the best path and finish immediately once its reached.
2015-08-01 19:04:09 +10:00
0e9051fbfe
BMesh connect pair, fallback to identity matrix
...
For overlapping vertices, a matrix for the operation can't be calculated.
2015-08-01 15:11:45 +10:00
e301cf3ec2
Cleanup: double-promotion warnings
2015-07-25 13:26:20 +10:00
12aff8d783
Add 'loop slide' option to bevel. See T45260
...
Current behavior of bevel is to 'loop slide' along unbeveled edges
when possible, but this produces uneven bevel widths sometimes,
so this option lets user choose between having the loop slide effect
or having more even bevel widths. Trying it out with default being
'no loop slide', so different from current behavior. May reverse this
choice later, depending on user reactions.
2015-07-05 09:53:17 -04:00
9ddb624a88
Cleanup: quiet warning
2015-06-21 12:33:55 +10:00
cdb0cf3ec7
BMesh: replace BLI_array -> BLI_stack
...
Also use more direct custom-data access.
2015-06-21 09:19:12 +10:00
f6c661a38f
BMesh: simplify join-tri's
2015-06-20 16:48:59 +10:00
9b3722b414
avoid assert with bmesh inset
2015-06-19 09:41:39 +10:00
d8cef42a14
Fix leak in edge-offset
2015-06-19 06:03:47 +10:00
937ecaf77e
BMesh: Add edge-offset option: cap-endpoint
...
Creating triangles at endpoints is often not so good, disable by default.
2015-06-18 03:17:20 +10:00
644e2250ce
Add missing file
2015-06-15 18:14:24 +10:00
41564a402e
BMesh: flatten faces operator
2015-06-11 21:54:06 +10:00
36d47ce203
Fix leak in BMesh convex hull operator
2015-05-30 16:17:04 +10:00
8715fd0925
BMesh: join tris, split angle limit in two
...
Use a separate limit for face-angle and shape comparisons.
There was no way to join non-rectangular, co-planer tries.
2015-05-26 14:27:38 +10:00
9ce20d3341
BMesh: join tris now delimits all UV/Color layers
...
Previously was only checking active layers
Also add delimit by edge seam
2015-05-26 13:42:59 +10:00
4737722968
Fix error joining tris -> quads
...
Incorrect flag check, would need to run multiple times.
2015-05-24 21:54:21 +10:00
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
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
ea5f9fee8d
Cleanup: function arg wrapping
2015-05-05 16:34:38 +10:00
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
a5869945c6
Cleanup: bmesh src/dst order in API args
2015-05-02 15:46:03 +10:00
d3c4553552
Fix a couple of harmless compiler warnings.
2015-05-01 19:18:26 +02:00
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
e9dcb068c7
Fix T44484: Edge-split corrupts mesh
...
Splitting non-manifold edges could produce duplicate edges.
2015-04-30 07:22:18 +10:00
78956b6a83
Fix T44542: 'extend selection' editmode tool would select hidden elements.
2015-04-29 17:19:20 +02:00
3524676036
BMesh: increase subdiv smooth strength
...
Now 1.0 gives near spherical output
2015-04-26 21:26:45 +10:00
2069187a1b
Cleanup: bmesh subdivide
...
var names were a bit cryptic, set return arg last.
2015-04-26 20:34:03 +10:00
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
e1ca127419
Cleanup: subdivide smooth vertex placement
2015-04-26 19:12:20 +10:00
d33314393e
BMesh: use const for API calls
2015-04-26 17:19:51 +10:00
6b610500b9
Cleanup: indentation
2015-03-11 13:14:24 +11:00
36df8cc1e5
Fix T43421: bisect_edges returns insufficient data
2015-03-09 18:33:24 +11:00
3281c3f3ce
error in last commit
2015-03-02 16:51:01 +11:00
6373078321
Fix T43848: Wrong direction recalculating normals
...
Face islands furthest faces could face towards the center point when connected to sharp edges.
Now check the furthest edge of the furthest face, to test for face winding.
2015-03-02 15:51:07 +11:00
9d85e32ee3
BMesh: calc normals, use area weighted center
...
Prevents many small faces skewing center calculation.
2015-03-02 13:04:46 +11:00