da78dd78be
Fix T25582: Add a 'smooth factor' to smooth_vertex BMesh op.
...
Based on code by wahooney (Keith Boshoff), patch itself was merely rewritten due to BMesh changes...
2014-09-28 20:00:54 +02:00
0cf8ee1c03
BMesh: use stack for subdiv face data (no realloc)
2014-09-28 15:08:54 +10:00
194f7f0ae8
Cleanup & remove redundant check
2014-09-12 09:53:31 +10:00
b762cc28ea
Workaround for strict flags and release build compilation
...
@campbellbarton, it's really helpful to have strict flags enabled
for release builds as well -- especially when you're working in areas
which are heavily using least squares solvers.
For now made it so blender compiles, but it could be better solution here.
2014-09-11 19:33:37 +06:00
652eaf7723
Fix for mesh-inset modifying hidden faces
2014-09-10 16:02:24 +10:00
1abcbe775b
Fix T41445: Inset creates separated UV's
2014-09-09 18:54:50 +10:00
8230ea4858
Fix editmesh-connect with adjacent vert selection
...
The result of running connect wasn't deterministic when adjacent vertices selected.
2014-09-02 16:38:31 +10:00
6b3ec0c515
Fix editmesh-connect with hidden geometry
...
- ignore hidden faces & verts
- when cutting a pair, select edges co-linear to the cut.
Also support creating a buffer from hidden elem's even if BMO_FLAG_RESPECT_HIDE is enabled.
(if the hflag used includes BM_ELEM_HIDDEN).
2014-09-02 14:35:56 +10:00
c1ec73f522
Fix T41631: Connect acts on unrelated vert
2014-08-30 00:13:56 +10:00
a71a947c6a
Fix T41568: Dissolve & Tear Boundary Keeps Verts
2014-08-26 13:35:43 +10:00
ca1bca442a
Fix T40993: Store selection history for extrude
2014-08-25 16:57:38 +10:00
afa6d4e21f
Fix T41523: Mesh triangle fill creates flipped faces
...
Calculate projection normal using edge-pairs
2014-08-21 15:07:07 +10:00
1706182be4
Fix for BMesh fill using arbitrary face-flipping
...
Use winding of existing boundary edges.
Filling Suzzane's eyes gave different face winding.
2014-08-21 13:08:13 +10:00
eaf7d6b7c0
BMesh: fill - replace SmallHash with GHash
2014-08-21 13:08:13 +10:00
90e1746d89
BMesh: correct flag use
...
Allowed fill to make duplicate faces
2014-08-21 13:08:13 +10:00
bba80ed7af
Cleanup
2014-08-17 12:18:40 +10:00
55d3277d0c
BMesh: use a smaller dist3 threshold
...
Matches array modifier remove-doubles
2014-08-14 12:49:02 +10:00
ff42afb6c5
Math Lib: rename barycentric_transform -> transform_point_by_tri_v3
...
also add transform_point_by_seg_v3
2014-08-13 14:55:45 +10:00
7df4fc5eaf
Spelling
2014-08-13 09:34:37 +10:00
b64e36d26d
BLI_listbase: consistent name prefix
2014-07-30 15:01:16 +10:00
41c31b8e55
Correction to recent rip-tear
2014-07-24 23:25:01 +10:00
1f55044617
Editmesh: Add option to tear boundary vertices when dissolving
2014-07-24 03:29:17 +10:00
8489b94e07
Math Lib: rename mul_serie_m3 to mul_m3_series & reorder args
...
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
2014-07-21 18:57:35 +10:00
7c7b7302d3
Math Lib: use variable length args for mul_serie_m3,m4 (instead of trailing NULL's)
2014-07-20 14:01:42 +10:00
00b29156e0
Defines: replace ELEM3-16 with ELEM(...), that can take varargs
2014-07-20 01:33:40 +10:00
70453c578d
Fix T34664: bevel face material can be set in tool and modifier.
...
Now the bevel tool, modifier, and internal operator have a material
slot # parameter that the user can set. If left at default of -1,
behavior is as current -- bevel face material is taken from the
closest original face (this may be ambiguous). If material slot
is >= 0, it gives the material slot index number for the material
to use.
2014-07-17 09:20:22 -04:00
d9f39257f4
Math Lib: add compare_len_squared_v3v3 from paint branch
2014-07-14 11:55:38 +10:00
78d38a9033
BLI_array: avoid mixing terms count/length
2014-07-11 15:30:42 +10:00
f32079d4b9
BLI_stackdefines
...
Bounds check the stack while debugging, also add STACK_PEEK
2014-06-29 05:57:48 +10:00
beedb0b274
BMesh: more edits to vertex dissolve, handle mixing wire edges with faces better
2014-06-27 22:06:49 +10:00
d6ab81809e
BMesh: tweaks to dissolve, remove wire edges before other calculations
...
also avoid feedback loop when checking topology giving nondeterministic results.
2014-06-27 20:28:36 +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
c3deb16c16
BMesh: add ability not to delete vertex when collapsing
2014-06-27 20:28:02 +10:00
2aca720bff
Fix T40813: Dissolve verts with adjacent regions, removes the dividing edge
2014-06-27 05:39:39 +10:00
0ea7302349
Fix for dissolve faces iterating over verts while removing
2014-06-26 23:29:45 +10:00
c5ccbacdaa
move STACK_* macros into BLI_stackdefines.h
2014-06-25 00:01:33 +10:00
3a75381505
Apply fix for T40745 to extrude_face_region too
2014-06-23 00:12:06 +10:00
728041019e
Editmesh: extruding end-point verts now maintains edge-direction
...
Resolves T40745, where faces from extruded edges had flipped normals.
2014-06-22 18:41:07 +10:00
f2a0062042
Use ARRAY_SIZE to replace (sizeof(a) / sizeof(*a))
2014-06-17 02:47:57 +10:00
b54793ef02
Editmesh: remove redundant normal calculation call for subdivide
2014-06-14 17:55:07 +10:00
0b0bac846c
Fix T40508: Calculating normals crashes
2014-06-06 11:27:09 +10:00
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