Campbell Barton
518bfbb1c9
style cleanup
2013-02-02 04:58:03 +00:00
Howard Trickey
7d3c6b2760
Fix bevel bug #33906 , unwanted distortion with skewed meshes.
...
The code for making a rounded profile edge at a vertex needed
a special case for when that profile is on the third face
(the one not touched by the beveled edge) when only one edge
is beveled and the three faces are not orthogonal.
2013-01-31 12:54:06 +00:00
Campbell Barton
4e7b18876c
style cleanup
2013-01-30 21:17:38 +00:00
Campbell Barton
2f53741cfe
bridge tool could make bow-tie quads when given 2 isolated edges.
2013-01-30 03:12:19 +00:00
Campbell Barton
f02f491ed0
correction to r54188, also don't attempt to triangulate triangles.
2013-01-29 20:49:40 +00:00
Campbell Barton
2b875a947f
skip calculating the normal for each face when triangulating, all callers make sure its valid. also remove some commented code (more then one generation of bmesh old).
2013-01-29 15:05:23 +00:00
Campbell Barton
37489d71c7
Triangulate modifier no longer uses bmesh operator api call, instead add a BM_mesh_triangulate() function. Gives ~2x speedup in my tests on an optimized build.
2013-01-29 10:31:05 +00:00
Campbell Barton
69585591d6
Correct fix for r54164, the testcase I was using worked but different edge slide examples didn't.
...
Edge slide needed to check for concave ngons too.
add BM_loop_is_convex() and expose to python too.
2013-01-29 03:25:47 +00:00
Campbell Barton
c37bc8fa76
minor optimization - don't do double lookups on vertex mask layer for vert_mask_get(), vert_mask_set().
...
add an assert because if the mesh is in an invalid state the mask layer can exist but the mask pointer still be NULL (noticed this while looking into a different bug).
2013-01-28 04:10:47 +00:00
Campbell Barton
774ff1c246
style cleanup: also remove unneeded NULL check.
2013-01-28 01:59:59 +00:00
Campbell Barton
c411cde415
header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTree
2013-01-24 21:57:13 +00:00
Campbell Barton
d760a86927
code cleanup: minor changes, replace len_v3 with len_squared_v3 for comparison.
2013-01-21 18:45:31 +00:00
Howard Trickey
698aeec8b8
Vertex bevel: adjust vertex positions to make a more rounded pattern.
...
Also fixed debug quad drawing code to not join successive quads.
2013-01-21 18:19:34 +00:00
Campbell Barton
78405a89c8
fix [ #33937 ] Planar decimate + triangulate operator leaves non-triangle faces
...
triangulate operation will now always triangulate, even on degenerate faces.
2013-01-21 17:25:08 +00:00
Howard Trickey
7d286d9a80
Bevel vertex: fix rebuild of faces so they are connected when seg > 1.
2013-01-21 13:31:16 +00:00
Campbell Barton
38cee985bb
code cleanup: style & warnings.
2013-01-21 02:30:40 +00:00
Howard Trickey
add25e43ad
Bevel vertex only (shortcut: control-shift-B) initial commit.
2013-01-21 01:52:23 +00:00
Campbell Barton
00ef8896fd
fix for own error in recent BLI_array commit
2013-01-20 16:58:14 +00:00
Campbell Barton
f414d2980a
code cleanup: remove some paranoid checks which would have crashed anyway earlier on.
...
Also some minor formatting.
2013-01-20 14:50:50 +00:00
Campbell Barton
bc44e81dff
fix own bug with uninitialized arrays in subdivide (from recent BLI_array.h update)
...
also quiet warning.
2013-01-20 08:05:23 +00:00
Campbell Barton
38825f891e
use openmp for building bmesh arrays, also replace calloc with malloc.
2013-01-19 02:21:53 +00:00
Campbell Barton
f251eb3f0c
minor dyntopo speedup: was doing 2x ghash lookups for BM_log_face_removed(), BM_log_vert_removed(), only one needed.
2013-01-19 00:53:33 +00:00
Campbell Barton
5ddc7d64a8
optimize bmesh operations that use triangle BMFace's (dyn-topo and mesh conversion).
2013-01-16 21:09:54 +00:00
Campbell Barton
8496a5a501
replace vertex slide with the transform operator. (MESH_OT_vert_slide -> TRANSFORM_OT_vert_slide)
2013-01-15 03:48:13 +00:00
Campbell Barton
ef0ed228ec
remove NULL checks for BM_iter_new() element iterators. replace checks with assert().
2013-01-14 19:46:30 +00:00
Campbell Barton
2b7db66edf
optimize BM_face_exists(), was doing a lot of redundant checks.
2013-01-14 18:37:58 +00:00
Campbell Barton
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
Campbell Barton
fae67b6fb3
fix own bug, edge crease and bevel weights lost on undo.
2013-01-14 12:14:08 +00:00
Campbell Barton
9f2e845181
code cleanup: use BMW_begin insode for loops body.
2013-01-14 09:53:56 +00:00
Campbell Barton
e0388a881b
fix for own error with unwrap selection checking uvedit_have_selection() failed with no UV layer.
...
also add some safety checks for BM_ELEM_CD_GET_* macros.
2013-01-14 08:02:06 +00:00
Campbell Barton
983e5fe5f1
fix for own mistake in recent changes to scanfill, bmo_triangle_fill_exec() (alt+f), was missing BLI_SCANFILL_CALC_HOLES argument.
...
reported as [#33819 ]
2013-01-10 14:28:06 +00:00
Campbell Barton
7c64109bce
bmesh todo: uv stretch area draw mode wasn't calculating ngon area - added area_poly_v2().
2013-01-10 08:16:19 +00:00
Campbell Barton
ceb9701507
don't store bevel weights or edge crease customdata layers in editmode unless they are needed.
...
configurable in 'Geometry Data' panel, will be added when running crease edges transform for example.
2013-01-10 04:43:31 +00:00
Campbell Barton
e24443b79a
style cleanup
2013-01-09 03:30:15 +00:00
Campbell Barton
36f79eab20
fix [ #33784 ] Select Linked All + Seams fails to select seam bounded area
...
was incorrectly flushing vertex selection.
2013-01-08 17:30:06 +00:00
Campbell Barton
b0c084c6cc
fix [ #33797 ] decimate modifier bug on uv-coordinates when mesh uses vertex color
...
if vertex colors had no seams - it would interpolate the UV's too, now interpolate per-layer.
2013-01-08 16:39:36 +00:00
Campbell Barton
e62bc29a9b
fix [ #33792 ] Accessing a bmesh object created by from_object crashes blender
...
Issue was customdata wasnt being initialized for layers in the destination BMesh but not in the source data.
2013-01-08 14:25:17 +00:00
Howard Trickey
4d1d50ea8b
Fix bevel crash #33801 , when first edge of a vertex is wire.
2013-01-08 03:30:31 +00:00
Antony Riakiotakis
c3b5c726c7
* Fix for #31581 . The issue was that we scaled the face prior to
...
projecting it. The original paper suggests to simply interpolate between
the two points of an edge if the distance of the point to that edge is
smaller than a threshold.
* Fixed both 3D and 2D code to utilize this. Possibly other places in
blender where this scaling is done will have to be adjusted.
* Changed vertex interpolation to use 2D interpolation, since it already
did projection on plane and 2d calculations are faster.
* Also added notifier on hard recalc when uvcalc_transfor_correction is
used. Results in instant feedback on UV editor when edge sliding.
2013-01-07 21:42:40 +00:00
Campbell Barton
6747dec926
style cleanup
2013-01-07 03:24:22 +00:00
Howard Trickey
835ebd576c
Fix bevel crash bug #33714 . Had to disable elem tag on new vertices.
2013-01-03 13:37:17 +00:00
Campbell Barton
b2f6e6b113
code cleanup: BM_face_create_ngon()
...
Change some of the paranoid checks into an assert since they should never happen.
2013-01-03 08:06:12 +00:00
Campbell Barton
7b212b3bd0
fix [ #33689 ] Crash with decimate modifier
...
in fact a more general bug in BM_face_create_ngon() where edges containing the same vertex multiple times were not accounted for.
2013-01-03 07:53:30 +00:00
Campbell Barton
c2839bfe76
add option WITH_SYSTEM_BULLET to link against the bullet installation found on the system.
...
Note: this doesn't work yet for everything with latest stable bullet (2.81), need to look into why and likely apply some patches upstream.
However I managed to link blender by disabling some features, likely it can be made to work without too much trouble.
2013-01-03 00:23:52 +00:00
Campbell Barton
827f9aa737
rename BM_edge_calc_squared_length -> BM_edge_calc_length_squared, matching len_v3, len_squared_v3
2012-12-31 02:40:15 +00:00
Campbell Barton
1aebc0e790
style cleanup
2012-12-31 02:37:28 +00:00
Nicholas Bishop
ab960eea88
Add symmetrize operator for dynamic-topology sculpt mode
2012-12-30 18:31:01 +00:00
Nicholas Bishop
2e9cb31c02
Add BMLog for efficiently storing changes to vertices and faces
...
The BMLog is an interface for storing undo/redo steps as a BMesh is
modified. It only stores changes to the BMesh, not full copies.
Currently it supports the following types of changes:
- Adding and removing vertices
- Adding and removing faces
- Moving vertices
- Setting vertex paint-mask values
- Setting vertex hflags
2012-12-30 18:24:08 +00:00
Nicholas Bishop
2d39e46414
Add BM_edge_calc_squared_length() query function
...
Same as BM_edge_calc_length(), but avoids square root for cases where
only comparison is needed.
2012-12-30 18:22:21 +00:00
Campbell Barton
857df8065f
style cleanup
2012-12-28 14:19:05 +00:00