Commit Graph

871 Commits

Author SHA1 Message Date
Campbell Barton
d7d2e71a03 Correct some errors in auto-cleanup 2014-04-27 22:02:59 +10:00
Campbell Barton
b6e967be63 Code cleanup: const args and arrays 2014-04-27 08:56:54 +10:00
Campbell Barton
88a0fe5f1b Code cleanup: use 'const' for arrays (bmesh) 2014-04-27 00:25:16 +10:00
Campbell Barton
2108a61691 BMesh: minor optimizations for shapekey lookups on conversion 2014-04-23 00:49:28 +10:00
Bastien Montagne
dcd2a8fcc4 Fix stupid typo that broke split normal shading in edit mode, when there was some deform modifiers. 2014-04-20 23:12:18 +02:00
Campbell Barton
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
Antony Riakiotakis
0ba3f76470 Recreating a bmesh log did not account for modified faces.
It shouldn't create issues in practice because modified face ids should
have been reclaimed from an added face on a previous entry, but add for
completeness.
2014-04-17 19:03:07 +03:00
Campbell Barton
b3972aeea0 Math Lib: optimize axis_dominant_v3_to_m3, approx 6x speedup
build the matrix directly rather then calculating with axis/angle

also remove unused function calc_poly_plane
2014-04-16 21:07:28 +10:00
Campbell Barton
28a829893c Math Lib: avoid having to pass a pre-calculated normal tot area_poly_v3
add normal_poly_v3
2014-04-16 00:29:57 +10:00
Bastien Montagne
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
Bastien Montagne
a15ae56421 Fix T39743: Crash when deleting faces in with new autosmooth.
Odd I did not catch this one... :/
2014-04-15 16:20:07 +02:00
Bastien Montagne
3cf39fc72a Fix T39740: New Autosmooth instant crash entering Edit Mode
One should always be wary of last minute changes, especially in comples code area... :/
2014-04-14 23:42:38 +02:00
Thomas Dinges
06cd550528 Compile fix for Windows. 2014-04-13 16:09:02 +02:00
Bastien Montagne
0b7f581397 Split Normals I (2/5): Add basic BMesh support of split normals.
* Merely a re-implementation of core split algorithm for BMesh, taking advantage of topological data available.
* This code needs valid loop indices, so added BM_LOOP support to BM_mesh_elem_index_ensure() & co.

Reviewers: campbellbarton

Reviewed By: campbellbarton

CC: brecht

Differential Revision: https://developer.blender.org/D366
2014-04-13 12:25:54 +02:00
Campbell Barton
668250deb8 BMesh: minor change to looping 2014-04-12 13:06:08 +10:00
Antony Riakiotakis
0b50ea5a88 Fix redraw and undo issues with hidden parts in dyntopo after recent
changes.
2014-04-11 15:02:31 +03:00
Antony Riakiotakis
69d2af7643 Support logging of modified faces in dyntopo.
This is meant to support undo when hiding parts of the mesh.
Also avoid rebuilding the PBVH in that case as well (no nodes split)
2014-04-11 02:29:59 +03:00
Bastien Montagne
c777f691ad Fix T39663: Blender crashes when trying to triangulate uv unwrapped mesh.
A dummy arg inversion! This is to be included in 2.70a!
2014-04-09 22:16:10 +02:00
Campbell Barton
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
Campbell Barton
4614c63d5d BMesh: bmesh_sfme now initializes the copy 2014-04-08 12:58:57 +10:00
Campbell Barton
7867f32fce BMesh: minor speedup, avoid calloc+assign, assign all members instead 2014-04-08 12:58:57 +10:00
Campbell Barton
412826a504 Mempool: delay allocating an initial chunk, its not always used 2014-04-08 12:58:56 +10:00
Campbell Barton
212717416b Dyntopo: avoid mask layer lookups while adding/removing verts 2014-04-07 13:05:39 +10:00
Campbell Barton
af59ee340f Mempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient now 2014-04-05 12:14:05 +11:00
Campbell Barton
45b02cee47 Code cleanup: no need to use calloc when memory is initialized after
also replace AT with __func__ since AT expands the full pathname
2014-04-04 14:26:01 +11:00
Campbell Barton
5873160242 Code cleanup: strict flags for bmesh_log 2014-04-03 17:13:31 +11:00
Campbell Barton
747ba571a1 Fix T39550: polygons.active has bad default 2014-04-02 06:40:39 +11:00
Campbell Barton
fb0959f88d Code cleanup: replace dot with len_squared and is_zero checks 2014-03-29 22:24:12 +11:00
Campbell Barton
ac07046e55 BMesh: optimize quad_coord, avoid duplicate sqrt calls 2014-03-28 15:25:02 +11:00
Sergey Sharybin
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
Campbell Barton
5256a5d66c BMesh: let vert-connect make degenerate faces when only 2 verts selected 2014-03-27 12:52:34 +11:00
Campbell Barton
bec7c8c7aa BMesh: optimize BM_face_legal_splits for concave faces 2014-03-27 11:48:18 +11:00
Campbell Barton
20a4e33837 Code cleanup: use consistent arg order for math api poly funcs 2014-03-27 08:30:14 +11:00
Campbell Barton
7bb84912ef Code cleanup: ifdef debug only checks and simplify manifold test 2014-03-25 07:54:41 +11:00
Campbell Barton
b69809c820 Fix T39331: Dissolve vertex crash 2014-03-24 16:37:10 +11:00
Campbell Barton
ec4e12d9a2 Code cleanup: comments and typos 2014-03-18 05:40:18 +11:00
Campbell Barton
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
Campbell Barton
702f374972 Fix for possible (unlikely) uninitialized var use in BM_face_split 2014-03-13 18:41:44 +11:00
Campbell Barton
4ae6c5cd77 BMesh: minor optimization, step over own loop in BM_face_exists 2014-03-12 18:30:38 +11:00
Campbell Barton
6aff80a9d1 BMesh: simple edge boundary walker 2014-03-07 10:39:30 +11:00
Campbell Barton
1ae3108984 Fix for bmesh triangulate creating duplicate edges 2014-03-04 02:07:23 +11:00
Campbell Barton
6f80980847 Debug function to check valid bmesh now detects duplicate edges 2014-03-04 01:53:19 +11:00
Campbell Barton
b5b1ce9d21 BMesh: add overwrite option to BM_mesh_elem_hflag_enable/disable_test 2014-02-26 23:42:47 +11:00
Campbell Barton
6b2d1d1493 Docs: doxygen sections for bmesh walkers 2014-02-22 18:52:14 +11:00
Campbell Barton
8565b2042e Fix for BM_mesh_deselect_flush(), allowed faces with deselected edges 2014-02-21 08:16:49 +11:00
Campbell Barton
fcaf144a2a Mask: enable overlap detection by default, more compact buttons 2014-02-17 20:00:11 +11:00
Campbell Barton
cc7cfd6617 Mesh Tool: removes degenerate edges, faces and face ears. 2014-02-17 11:41:19 +11:00
Campbell Barton
191183b304 Fix for bmesh with openmp 2014-02-16 22:40:09 +11:00
Campbell Barton
96d5e05e48 Mesh Inset: following existing edges is now optional 2014-02-15 13:51:54 +11:00
Bastien Montagne
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