a217db0d63
Fix T40297: Crash while ripping an edge when autosmooth is activated.
...
Turned out there was still quite a few cases were indices were set dirty,
but elem_index_dirty was not tagged accordingly (mostly for BM_LOOP,
but a few others as well). So probably this crash was not the only one
hidden here.
Hopefully all possible cases were catched this time!
2014-05-21 22:37:50 +02:00
46bd759964
Code cleanup: rename BM_face_legal_splits -> BM_face_splits_check_legal
2014-05-13 17:48:25 +10:00
bdf477d19a
BMesh: add check to BM_vert_pair_share_face to allow adjacent loops
...
Add BM_vert_pair_share_face_by_angle to avoid selecting concave splits.
2014-05-13 16:49:57 +10:00
88a0fe5f1b
Code cleanup: use 'const' for arrays (bmesh)
2014-04-27 00:25:16 +10:00
3d031d1f3a
BMesh: minor changes for BM_face_split use
2014-03-13 18:41:45 +11:00
04a902965e
BMesh optimize face splitting by taking loops rather then verts
...
- add BM_vert_pair_share_face
- add BM_loop_is_adjacent
- remove BM_verts_connect
2013-12-24 11:13:58 +11:00
54310b8086
bmesh: internal api change, remove BMOElemMapping, its not needed since the values can be stored in the ghash directly.
...
saves 24 bytes per element (per vertex/edge/face on a 64bit system), for bmesh operators.
2013-09-02 03:13:51 +00:00
98c574e41a
use 'greater/less then or equal to' operators rather then adding 1.
2013-08-11 05:40:35 +00:00
19496ab62a
internal bmesh api change: BM_elem_attrs_copy() no longer copies the selection flag.
...
this was slowing down modifiers since the selection flags would be copied and flushed to connected geometry.
2013-07-24 19:31:58 +00:00
5fac3d9db5
remove bmesh arg from BM_face_legal_splits(), don't use a bmesh iterator.
2013-06-26 20:15:02 +00:00
c03e638cf3
Fix msvc compile error with subdivide use_smooth_even option.
2013-06-10 20:54:08 +00:00
bff8a4c594
correction to typo in r57327, ui-load wasnt working on splash screen.
...
also minor changes:
- update the load-UI flag when changing in the preferences.
- remove unused initialization values for subdivide.
2013-06-10 10:55:57 +00:00
cae0d9df52
optimize customdata lookups for subdivision.
2013-06-10 05:18:45 +00:00
501f655503
fix [ #35648 ] Loop cut, smoothness showing wrong symmetrical
...
this is more of a feature request then a bug, but nicer to use even smoothing offset for loopcut smoothing.
2013-06-10 04:33:05 +00:00
0ff22044cd
Support for bridge tool subdivisions, smoothing and shape along the profile.
...
also added the underlying subdivision as a standalone operator in the edge menu, named: subdivide edge-ring.
http://www.graphicall.org/ftp/ideasman42/bridge_subd.png
2013-05-23 06:19:04 +00:00
e4aff35020
smooth falloff options for loopcut.
2013-05-08 12:58:28 +00:00
dfc406fc2c
fix/feature [ #35085 ] Loop cut slide
...
Loop cut slide now works with multicut.
issue is that since edge slide now supports more configurations, cases where loop-cut-slide silently failed before,
now slide (albeit in an awkward way at times).
Fix this my adjusting the selection of after loopcut so edge slide can properly operate on it.
2013-04-26 15:05:19 +00:00
afb4b65167
Random number generator: replace a bunch of usage of the global random number
...
generator with a local one. It's not thread safe and will not give repeatable
results, so in most cases it should not be used.
Also fixes #34992 where the noise texture of a displacement modifier was not
properly random in opengl animation render, because the seed got reset to a
fixed value by an unrelated function while for final render it changed each
frame.
2013-04-15 23:12:40 +00:00
858ff6b696
Fix for [ #34898 ] Typo in error message of mathutils.Vector
...
* Also fixed some more cases of "more then" -> "more than".
2013-04-07 15:09:06 +00:00
b1f4e2b4db
code comments: bmesh operator doxy header descriptions.
2013-03-30 08:54:50 +00:00
6f9f1399a0
code cleanup: operator headers
2013-03-25 22:40:11 +00:00
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
347e2b6cb0
code cleanup: make bmesh var names more consistent
2013-03-09 17:12:24 +00:00
2005f7c6c0
style cleanup: also some typos
2013-02-11 00:49:00 +00:00
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
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
8ecce451ab
bmesh operator naming - use clearer names for args eg: (mat -> matrix, use_singleedge -> use_single_edge)
...
also remove duplicate docs for operator arg formatting.
2012-11-28 00:16:06 +00:00
f8bc346eff
bmesh/py operator api:
...
add type checking for element buffers, there was nothing stopping python from passing any element type into an argument when in some cases only verts/edges/faces were expected.
now operator args define which types they support.
2012-11-27 00:50:59 +00:00
a91814e94d
style cleanup
2012-11-26 11:03:14 +00:00
cf2c459325
Fix #33285 : loop cut is not supposed to cut through triangles/ngons, but it
...
still happened when the loop would go all the way around the mesh with just one
triangle/ngon inbetween to close the loop.
2012-11-26 06:59:59 +00:00
ebaf1306b8
bmesh operator api:
...
avoid per vert/edge/face string lookups in BMO_slot_map_* functions --- used in array modifier, subdivide, remove doubles and other tools.
2012-11-20 13:29:27 +00:00
dbdc76c9d0
code cleanup: make bmesh operator names more consistant since python has access to these as input arguments and return values.
...
all output values currently have ".out" suffix, this may go in the future, but for now it makes it clear in C code what are inputs and outputs.
2012-11-20 05:50:19 +00:00
e8667421ed
bmesh operator api edits, add macros and NULL the buffer if BMO_slot_buffer_alloc()'s len is zero.
2012-11-20 03:29:12 +00:00
48639af5f8
use input and output slots for bmesh operators, needed for the python api to get return values.
2012-11-19 14:58:31 +00:00
cf6994b910
code cleanup: spelling,
...
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
2012-11-12 07:33:01 +00:00
6cdb555e6e
bmesh refactor - rename some of the BM_****_share_****_count() functions to BM_***_share_check()
...
some of these were only returning a boolean, others returned a count even though only a boolean was needed.
split some of the functions in two as well where check/count are both needed.
2012-11-09 14:52:05 +00:00
9b948717b0
code cleanup: float <> double conversion.
2012-11-03 18:23:30 +00:00
7deb8d8a26
code cleanup: spelling
2012-10-20 20:36:51 +00:00
e2baa41ec7
fix [ #32665 ] Inconsistent Circle Mesh Edge Subdivision
2012-09-26 11:14:40 +00:00
9411716f31
fix for error in own recent commit
2012-09-06 11:02:27 +00:00
47ec91e8d3
code clenup: comments and some style edits on ghost/osx (odd indentation)
2012-09-06 02:10:09 +00:00
5c52455fba
fix [ #32500 ] Odd behaviour with subdividing an ngon
2012-09-06 01:06:36 +00:00
20b84ec37c
committed by accident
2012-09-05 23:30:30 +00:00
36797a64a5
code cleanup: use *(*var)[2] for pairs in bmesh code rather then a 1d array stepping by 2.
2012-09-05 23:17:19 +00:00
6e85ffc4fa
code cleanup: bmesh subdivide code was growing arrays one by one, when the final size is known - do this in one go.
...
also replace for loops with iterator macros.
2012-09-05 19:21:55 +00:00
ca7d1ec39d
style cleanup: use <pre> for doxygen ascii art
2012-08-13 15:17:15 +00:00
90d215535e
add option so operators can be called with a flag, currently the only flag is to respect hidden geometry.
...
this is useful for bmesh tools that operate in object mode or for modifiers which would previously use hidden faces in some cases.
2012-07-21 00:58:02 +00:00
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00
2a1ba8c85b
style cleanup: formatting and some float/double promotion
2012-05-03 19:57:24 +00:00
3ee4be913b
Fix #31139 : fractal mesh subdivide was only working along normal where previously
...
it would displace in all directions. Now there's an operator option to control this.
2012-05-03 10:14:08 +00:00