7e78322eef
BMesh Walker: rename BMW_SHELL -> BMW_VERT_SHELL
2014-05-23 20:50:27 +10:00
a217db0d63
Fix T40297: Crash while ripping an edge when autosmooth is activated.
...
Turned out there was still quite a few cases were indices were set dirty,
but elem_index_dirty was not tagged accordingly (mostly for BM_LOOP,
but a few others as well). So probably this crash was not the only one
hidden here.
Hopefully all possible cases were catched this time!
2014-05-21 22:37:50 +02:00
b12bf2216f
Correct last commit, check not to split along edges already used
2014-05-13 18:41:04 +10:00
dd8a9eee3b
Fix T40162: Vert connect creates extra face cutting across concave NGon.
...
We need to support cutting degenerate ngons, see: T39418
This commit disallows cuts across faces where the same vertices can create better cuts on different faces.
2014-05-13 17:56:26 +10:00
46bd759964
Code cleanup: rename BM_face_legal_splits -> BM_face_splits_check_legal
2014-05-13 17:48:25 +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
f14df29777
BMesh: make BM_face_calc_normal_subset apart of the bmesh api
...
also make face normal calculation functions return normal length
2014-05-13 14:58:05 +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
d7d2e71a03
Correct some errors in auto-cleanup
2014-04-27 22:02:59 +10:00
88a0fe5f1b
Code cleanup: use 'const' for arrays (bmesh)
2014-04-27 00:25:16 +10:00
f2c483d108
Fix T39429: Project paint error with UV bleed
2014-04-23 04:33:07 +10:00
9d5ed605fe
BMesh Inset: remove hack to store coords in normals
2014-04-22 01:36:59 +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
e4c2a3c31c
Various fixes/improvements regarding BMesh's elem_index_dirty and BM_LOOP handling.
...
Most notably, BM_LOOP and BM_FACE index recompute should now be fully decoupled.
2014-04-15 16:20:07 +02:00
a15b3c4d11
Code cleanup: use bool
2014-04-11 11:33:29 +10:00
5580afb5df
GHash/Edgehash: make simple iterator checking functions inline.
...
also remove NULL check, only a few areas made use of this.
2014-04-08 15:50:38 +10:00
412826a504
Mempool: delay allocating an initial chunk, its not always used
2014-04-08 12:58:56 +10:00
af59ee340f
Mempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient now
2014-04-05 12:14:05 +11:00
1f58bfb8be
Code cleanup: de-duplicate cotangent weight function & add arg sizes
2014-03-30 11:08:33 +11:00
3977b7612f
Fix T39288: Inset regression with extreme offset
2014-03-28 21:38:12 +11:00
2a25676168
Fix for inset bug (edge rail had feedback loop with direction)
...
also disable edge-rail by default.
2014-03-28 21:38:12 +11:00
5256a5d66c
BMesh: let vert-connect make degenerate faces when only 2 verts selected
2014-03-27 12:52:34 +11:00
ca6d76a915
Code cleanup: double/float
2014-03-19 07:19:43 +11:00
3d031d1f3a
BMesh: minor changes for BM_face_split use
2014-03-13 18:41:45 +11:00
cc7cfd6617
Mesh Tool: removes degenerate edges, faces and face ears.
2014-02-17 11:41:19 +11:00
96d5e05e48
Mesh Inset: following existing edges is now optional
2014-02-15 13:51:54 +11:00
ae8327dbf3
Mask: add option to detect self intersections
2014-02-13 19:12:28 +11:00
b3afbcab8f
ListBase API: add utility api funcs for clearing and checking empty
2014-02-08 06:24:05 +11:00
37026b12ec
Code cleanup: use bool for static methods
2014-02-05 22:36:15 +11:00
8b1731e13d
Scanfill: skip checks for loose edges when they can't occur
...
Only editmesh needs this, text, curves, masks - can all skip this check
2014-02-04 02:57:27 +11:00
fed1b8b16d
Code cleanup: suffix vars to make obvious they are squared
2014-02-03 02:46:45 +11:00
b4ae05e4db
BMesh: optimize lookups for triangle fill
2014-02-02 17:09:38 +11:00
c4345a808c
Smallhash: add reserve option to avoid resizing when size is known
2014-02-02 17:08:26 +11:00
933c2b0521
BMesh: collapse_uvs - avoid clearing and flagging for every cd-layer
2014-01-22 17:16:38 +11:00
63ccb26303
Code Cleanup: spelling
2014-01-17 17:35:03 +11:00
477a84a738
BMesh: minor optimization for remove doubles
...
- replace heap allocation with stack for small arrays.
- remove edge-lookup when its already known.
2014-01-17 17:21:41 +11:00
7df8452d1a
BMesh: add bmesh delete functions that dont depend on operator flags
2014-01-17 14:55:06 +11:00
38e683cbb1
Fix T38217: Fix glitch adding Monkey with view align
...
added an option so view-align can default to a different axis.
2014-01-16 23:54:04 +11:00
af93ebcb50
Code Cleanup: style and redundant casts
2014-01-16 19:15:53 +11:00
5611fb6a32
Fix T38186: mesh inset didn't follow edge directions for flat surfaces
...
also improve evenness when the inset direction wasn't exactly between both edges,
2014-01-14 09:48:59 +11:00
49aa701645
Add profile control parameter to Bevel.
...
Parameter controls concavity / convexity.
<.25 means: concave inward
.25 means: straight slanted
>.25 means: concave outward
.5 means: circular (the default)
1 means: straight along original sides
For now, there is a hard lower limit of .15
because more work is needed to get decent
results in the range below that.
The profile is actually a superellipse, and the
parameter is 1/4 of the exponent in the implicit equation
for a superellipse, except at the extreme values of 0 and 1.
2014-01-08 07:40:01 -05:00
3ffba79ac6
Fix for own recent commit
2013-12-24 18:56:07 +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
01acc2a7dc
EditMesh: wireframe tool, add offset and vgroup support (not used yet)
2013-12-22 06:54:37 +11:00
6ea13cf217
Editmesh: skip allocating a face array for recalc-normals
2013-12-16 01:28:07 +11:00
c33fb00c28
Fix for triangulate and beauty-fill
...
- could crash if triangulate attempted to create an existing face.
- tagging edges to rotate was unreliable, don't do this anymore.
now check if edge is in the array passed to the beauty function.
2013-12-02 11:49:18 +11:00
aa3933b411
Fix own regression - adding a grid had rotated face.
...
some scripts depended on uv's default values
2013-11-29 10:15:26 +11:00
46cc02c5cd
Correct fix for T37617, (own recent regression)
2013-11-26 07:13:34 +11:00
1768bd2c33
Fix T37617: "Add plane" was adding a 2*2 grid
...
Was a regression from rBaa3c06b41ca9, hope this time all things are OK again (note the X/Y subdivision values still are different than before (-1 for same result), but imho they make more sense this way).
2013-11-25 21:01:22 +01:00
63caaa2b12
Code Cleanup: rename vars for detecting change to be more consistent
...
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00