Commit Graph

19 Commits

Author SHA1 Message Date
9096b3a14e fix [#36211] bridge edge loops joining vertecies that are far away
for bridge use a different beautify method when edge loops have non-matching loop count (simple face-angle comparison).
2013-09-17 23:23:32 +00:00
dd628ab4ed comments and more logical var names for bm_edge_calc_rotate_beauty(), (make it easier to see whats going on) 2013-09-17 22:48:08 +00:00
0994e7f96f move timeit macros into their own include, since they are only used for testing and unrelated to PIL_time.h typical use. 2013-09-03 21:22:43 +00:00
bbce51d116 replace hashes with sets where possible. 2013-08-25 20:03:45 +00:00
d68917cb86 code cleanup: typos 2013-07-27 07:02:27 +00:00
a15e9ca495 triangulate and beauty fill also needed changes to selection handling after recent changes. 2013-07-25 07:00:07 +00:00
fad1da062d correct typos in comments. 2013-06-25 22:58:23 +00:00
f433f011cf add option to only beauty fill between vertices with non-matching tags,
useful for beauty filling the result of a bridge between 2 edge-loops.
2013-05-08 12:56:41 +00:00
79d353eebd fix for error in recent changes to beautify, clear edge tags before use. 2013-04-09 00:07:47 +00:00
c7e2a31bf2 correct too-big allocation in mesh beautify. 2013-04-01 07:57:33 +00:00
e8d532f1dd style cleanup 2013-03-31 03:28:46 +00:00
cd6d337d41 Beautify - use a heap for the edge rotation queue rather then checking to rotate all edges until none can be rotated.
this means the best edges to rotate are done first, also speeds up execution ~20% in my tests.
2013-03-30 11:05:57 +00:00
20376f3337 code cleanup: move beauty fill calculation into its own function and some style cleanup 2013-03-30 09:57:35 +00:00
b1f4e2b4db code comments: bmesh operator doxy header descriptions. 2013-03-30 08:54:50 +00:00
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
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
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
6f9f1399a0 code cleanup: operator headers 2013-03-25 22:40:11 +00:00
be780cb4a6 code cleanup: move beautify into its own file (more changes coming) 2013-03-25 22:04:12 +00:00