Campbell Barton
ae0e356de6
improve beauty-fill tool for non-flat triangles.
...
Project the triangle pair into 2d coords before measuring.
before/after - http://www.graphicall.org/ftp/ideasman42/beauty_fill_fix.png
note: I committed this r54403 but it caused eternal looping so I reverted for 2.66 release.
ran extensive tests and its not giving problems so re-applying this improvement.
2013-03-26 01:49:55 +00:00
Campbell Barton
32f63f6b4c
misc minor changes
...
- make it clear that navmesh visualize option only works in path mode.
- use 2 decimal places for motion-blur shutter speed (user request).
- use 'const' for some bmesh functions.
2013-03-26 01:46:12 +00:00
Campbell Barton
0eee4021c9
fix [ #34603 ] ALT-F fails, freezes, CPU=100%
...
The way beauty fill was working was too fragile and prone to eternal loops,
Solution used is to is to store previous states and ensure edges don't get rotated back into those.
Also added an optimization to avoid testing the same edge rotation many times - using edge tags to only re-test edge rotations around areas that have been modified.
2013-03-26 00:29:57 +00:00
Campbell Barton
f9b1494158
internal changes to beautify fill, use an array of edges that can be rotated, rather then looping over all edges each time.
2013-03-25 23:21:16 +00:00
Campbell Barton
6f9f1399a0
code cleanup: operator headers
2013-03-25 22:40:11 +00:00
Campbell Barton
be780cb4a6
code cleanup: move beautify into its own file (more changes coming)
2013-03-25 22:04:12 +00:00
Campbell Barton
1b4c9e1ad4
beautify fill: skip testing invalid cases (2 triangles that _don't_ have 4 unique verts between them).
2013-03-25 04:48:30 +00:00
Campbell Barton
e1a54214bb
code cleanup:
...
- remove unused defines.
- quiet some shadow warnings.
- bevel, ifdef out some asserts that are too common.
- style
2013-03-25 02:41:30 +00:00
Campbell Barton
dad7afa1af
code cleanup: remove double call to BKE_node_instance_key(), rename ruler (lots of tools are 3d :)), and redundant assignment.
2013-03-21 14:16:55 +00:00
Campbell Barton
655ed9cc7f
style cleanup
2013-03-18 11:44:56 +00:00
Campbell Barton
3dababa7ec
code cleanup: name mesh functions more consistently, also use bools for mesh args.
2013-03-17 19:55:10 +00:00
Campbell Barton
0d0291f6e1
code cleanup: incorrect sized array args, remove some redundant code.
2013-03-17 10:26:23 +00:00
Campbell Barton
baf3bb37a9
- ghost-sdl builds again.
...
- without python builds without warnings.
- replace MAXFLOAT -> FLT_MAX in some areas, MAXFLOAT overflows (lager then float range).
- add cmake option WITH_GCC_MUDFLAP to enable libmudflap use.
2013-03-16 20:49:46 +00:00
Campbell Barton
7ec47aa864
code cleanup: shadowing
2013-03-16 14:33:32 +00:00
Campbell Barton
a7b83837db
fix for crash when using BM_face_calc_tessellation(), its not ensured that all tris will be filled in.
...
(effected knife project and laplacian smooth).
2013-03-16 14:18:32 +00:00
Campbell Barton
db77fdc6ff
fix for own mistake in using alloca in a loop, replace with BLI_buffer
2013-03-16 00:41:32 +00:00
Campbell Barton
d9c9209608
code cleanup: quiet some -Wshadow warnings, mix of obvious mistakes and harmless global/local naming conflict.
2013-03-15 22:55:10 +00:00
Campbell Barton
40bfce6616
use bool for knife, also scons tab/space mix.
2013-03-15 19:00:21 +00:00
Campbell Barton
87919be4f6
fix for own bad mistake using alloca in a loop, also knife project wasnt selecting correctly.
2013-03-15 13:18:35 +00:00
Campbell Barton
25e579c631
fix for minor glitch in recent addition to create faces from partial selections.
...
BM_edge_exists() would return an edge if both verts passed match, now assert instead.
2013-03-13 14:54:47 +00:00
Howard Trickey
604bdb7f45
Fix bevel modifier bug #34611 , limit bevel amount needed.
...
This is a quick fix that perhaps overestimates the point
of first geometry collision, but at least for now it should
allow models that used the old modifier and a too-big
bevel amount to not look awful.
The correct solution to this problem is much more involved
and I'll get to it later.
2013-03-13 14:08:12 +00:00
Campbell Barton
0488af00fe
fix for crash with laplacian smooth when unselected ngons were used, volume calculation assumed unselected face were not ngons.
...
- added convenience function BM_face_calc_tessellation() to get triangles from an ngon.
- expose volume function as BM_mesh_calc_volume().
2013-03-13 06:32:08 +00:00
Campbell Barton
56771becd0
code cleanup: remove bmesh subdivide header, all definitions can be included in bmo_subdivide.c.
...
also only initialize random numbers when fractal option is set.
2013-03-13 05:33:23 +00:00
Campbell Barton
ee3d910f8f
code cleanup: quiet struct gcc warnings, also use more conventional names for bmesh dissolve.
2013-03-12 08:50:02 +00:00
Campbell Barton
8661e820f9
bmesh: dissolve, avoid unnecessary loop in test_extra_verts(), also minor code cleanup.
2013-03-12 05:48:30 +00:00
Campbell Barton
539d7d460d
bmesh: maintain active face when dissolving.
2013-03-12 05:36:43 +00:00
Campbell Barton
660be3da39
use gcc warning -Wredundant-decls, exposes some odd/duplicate declarations which have been removed.
2013-03-11 20:27:38 +00:00
Campbell Barton
f9f7070336
add STREQ macro (commonly used macro like CLAMP, MAX2, STRINGIFY). Use for some areas of the python api, bmesh.
2013-03-10 06:18:03 +00:00
Campbell Barton
347e2b6cb0
code cleanup: make bmesh var names more consistent
2013-03-09 17:12:24 +00:00
Campbell Barton
06b3d4f7bb
code cleanup:
...
- use BM_ITER_* macros in more places.
- avoid sign int conversion when calling EDBM_backbuf_check()
2013-03-09 16:19:07 +00:00
Campbell Barton
c56b39c0e4
bmesh operator 'contextual_create' wasn't flagging single faces that were created (caused glitch in some cases with recent create-select functionality).
2013-03-09 14:42:10 +00:00
Campbell Barton
6a59f71d04
bmesh: face creation from a single selected vertex/edge, now extends the selection along wire/boundary edges and makes a face.
...
Selection is specifically so you can continuously fill in holes by tapping the Fkey.
Similar functionality to the F2 addon, however the mouse location isn't used.
2013-03-09 14:14:20 +00:00
Campbell Barton
221a383366
use 'bool' for BLI_/BKE_ functions.
2013-03-09 05:35:49 +00:00
Campbell Barton
ddddb7bab1
code cleanup: favor braces when blocks have mixed brace use.
2013-03-09 03:46:30 +00:00
Campbell Barton
c36f20a7d2
style cleanup
2013-03-08 04:00:06 +00:00
Campbell Barton
b9554c86dc
fix null pointer dereference in BM_edge_is_contiguous() (own code).
2013-03-08 03:07:32 +00:00
Campbell Barton
0d5b028d43
patch [ #34103 ] use boolean in path functions and add comments.
...
path_util_1.patch from Lawrence D'Oliveiro (ldo)
2013-03-04 19:27:51 +00:00
Gaia Clary
d17a8639e4
Added typecasts to keep c++ from reporting errors
2013-03-02 12:16:23 +00:00
Campbell Barton
0ac07404ba
style cleanup: braces with multi-line statements, also add some comments.
2013-03-01 14:47:06 +00:00
Howard Trickey
0a6e8a41b9
Enable new bevel tool code in bevel modifier.
...
Now modifier takes a segments parameter.
Bevel edge weights will multiply the overall amount.
For vertex-only, you can give a vertex group name,
and the weights in that will multiply the overall amount.
2013-02-21 17:29:35 +00:00
Campbell Barton
ac6e44887e
code cleanup: remove references to old bevel code (which has been removed for a while)
2013-02-21 17:13:25 +00:00
Campbell Barton
f6f0ec6dfc
increase openmp limit for release so low poly meshes don't use openmp threads (which can be slow)
2013-02-20 15:34:31 +00:00
Sergey Sharybin
fdb25a1d27
Fix #34249 : collapse edges crash blender with a specific mesh
...
OpenMP block was using shared variable, which for sure leads to
threading issues.
2013-02-19 09:51:32 +00:00
Campbell Barton
098e4234b1
minor change to own recent commit with transform fcurve centers and some style edits and typo corrections.
2013-02-19 02:30:02 +00:00
Campbell Barton
b6a60fc6b8
revert own commit, caused regression - hanging on triangulation [ #34214 ].
...
Postponing further changes for now, too risky before release when unexpected cases can cause eternal loop.
2013-02-13 03:20:30 +00:00
Campbell Barton
2005f7c6c0
style cleanup: also some typos
2013-02-11 00:49:00 +00:00
Campbell Barton
555bcc3298
add beauty option for triangle fill since you might want to use the initial scanfill result.
2013-02-09 15:49:20 +00:00
Campbell Barton
5e05d67436
improve beauty-fill tool for non-flat triangles.
...
Project the triangle pair into 2d coords before measuring.
before/after - http://www.graphicall.org/ftp/ideasman42/beauty_fill_fix.png
2013-02-09 08:16:13 +00:00
Campbell Barton
d03befd0db
fix for is_quad_convex_v3(), getting the dominant axis wasn't accurate enough in some cases and would make beauty fill fail.
...
now rotate the coords before calculation.
2013-02-09 07:59:56 +00:00
Campbell Barton
c30fb009cc
problem with own changes to triabgulate: calling beauty fill directly would re-allocate the faces which mean't triangulates output slots pointers became invalid. (noticed when using from py api)
2013-02-06 15:57:12 +00:00