Commit Graph

1340 Commits

Author SHA1 Message Date
1f58bfb8be Code cleanup: de-duplicate cotangent weight function & add arg sizes 2014-03-30 11:08:33 +11:00
fb0959f88d Code cleanup: replace dot with len_squared and is_zero checks 2014-03-29 22:24:12 +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
ac07046e55 BMesh: optimize quad_coord, avoid duplicate sqrt calls 2014-03-28 15:25:02 +11:00
84823220b8 Attempt to fix compilation error on release windows
MSVC was yelling on me because of unused variable.
2014-03-27 19:14:20 +06:00
5256a5d66c BMesh: let vert-connect make degenerate faces when only 2 verts selected 2014-03-27 12:52:34 +11:00
bec7c8c7aa BMesh: optimize BM_face_legal_splits for concave faces 2014-03-27 11:48:18 +11:00
20a4e33837 Code cleanup: use consistent arg order for math api poly funcs 2014-03-27 08:30:14 +11:00
7bb84912ef Code cleanup: ifdef debug only checks and simplify manifold test 2014-03-25 07:54:41 +11:00
b0a8e4ced1 Fix T39262: Regression in 2.70, wire-frame editmode tool replaced all 2014-03-25 07:53:09 +11:00
25835ec977 Fix possible use of invalid face index with wireframe tool 2014-03-25 07:53:09 +11:00
b69809c820 Fix T39331: Dissolve vertex crash 2014-03-24 16:37:10 +11:00
ca6d76a915 Code cleanup: double/float 2014-03-19 07:19:43 +11:00
ec4e12d9a2 Code cleanup: comments and typos 2014-03-18 05:40:18 +11:00
d08e6ab279 Fix T39215: Shortest path error 2014-03-17 03:42:03 +11:00
caf8684b50 EditMesh: Support contracting the selection as well as extending
This allows for holding ctrl while switching from face->edge modes to
select an edge-ring.
2014-03-17 00:25:34 +11:00
3d031d1f3a BMesh: minor changes for BM_face_split use 2014-03-13 18:41:45 +11:00
702f374972 Fix for possible (unlikely) uninitialized var use in BM_face_split 2014-03-13 18:41:44 +11:00
4ae6c5cd77 BMesh: minor optimization, step over own loop in BM_face_exists 2014-03-12 18:30:38 +11:00
6aff80a9d1 BMesh: simple edge boundary walker 2014-03-07 10:39:30 +11:00
df3116b326 Fix for un-subdivide creating duplicate faces 2014-03-06 01:00:18 +11:00
37ef7f3537 Fix T38936 Bevel strange flickering on big meshes.
Last change to bevel had a check for what was supposed
to be an "on edge" new vertex being off the edge.
The test tolerance was too small. This fixes that.
2014-03-04 09:31:20 -05:00
1ae3108984 Fix for bmesh triangulate creating duplicate edges 2014-03-04 02:07:23 +11:00
6f80980847 Debug function to check valid bmesh now detects duplicate edges 2014-03-04 01:53:19 +11:00
1582dd5e4d Partial fix for T38871, Bevel could create a far-out spike.
There needed to be a check that when a newly created point is
supposed to be on an edge, that it stays within the bounds
of either end of the edge.
This fixes the hole-in-cube example in the bug, but not
the boolean modifier one, which still needs more work.
2014-02-28 13:56:17 -05:00
d3b9457991 Code cleanup: style/warnings 2014-02-28 11:04:15 +11:00
b5b1ce9d21 BMesh: add overwrite option to BM_mesh_elem_hflag_enable/disable_test 2014-02-26 23:42:47 +11:00
6b2d1d1493 Docs: doxygen sections for bmesh walkers 2014-02-22 18:52:14 +11:00
8565b2042e Fix for BM_mesh_deselect_flush(), allowed faces with deselected edges 2014-02-21 08:16:49 +11:00
6de3a8a4fe Bevel fix for T38675, bad bevel on slanted L.
The test for a reflex angle used the vertex normal,
which was not a good test for a saddle point vertex.
Switched to using the face normal, if available, for that test.
Also added test for this in svn bevel_regression.blend.
2014-02-17 11:43:31 -05:00
fcaf144a2a Mask: enable overlap detection by default, more compact buttons 2014-02-17 20:00:11 +11:00
cc7cfd6617 Mesh Tool: removes degenerate edges, faces and face ears. 2014-02-17 11:41:19 +11:00
191183b304 Fix for bmesh with openmp 2014-02-16 22:40:09 +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
70905a6e02 Fix Editderivedmeshes vertices normals computation.
Those derived meshes (used in Edit mode) were using simple sum of neighbor poly normals to get vertex normals,
while everywhere else in Blender we use weighted sum of such poly normals.

Patch: D311

Reviewed and enhanced by Campbell, thanks!
2014-02-12 20:48:09 +01: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
76543574bc Code cleanup: declarations for removed functions 2014-02-04 07:20:19 +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
68521841a8 Bevel: remove unused assignments.
Caught by coverity.
2014-02-03 09:53:27 -05:00
d484eb8c25 Fix T38421: Vertex Parenting & Triangle Vertex Parenting causes segfaults.
Issue was caused by clearing dirty flags from element table in bmesh before
the data was fully ready.

This confused checks happening from threads and some threads did consider
element table is usable while other thread was still filling it in.
2014-02-03 19:13:25 +06:00
d900f5be55 Code cleanup: use bools where possible 2014-02-03 19:35:44 +11:00
1dc1d92dab Code cleanup: white space and cmake was broken on all platforms 2014-02-03 13:56:34 +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
39202a53b5 Bevel: fix glitch in "pipe" case with square profile.
The "pipe" case -- where two beveled edges are in line
and there is at least one more beveled edge -- needed better
handling when profile parameter = 1.0 (square outward).
2014-01-28 13:20:42 -05:00
37f1b717eb Bevel code cleanup: get rid of old 'ADJ' code.
The new subdiv 'adj' pattern is working well, so removing the
old code and taking opportunity to remove 'subdiv' from a number
of names.
2014-01-28 07:03:25 -05:00