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
ef054e165c
style cleanup: format 'for' loop macros the same as for loops, some renaming to BLI_array macros.
2012-04-28 15:14:16 +00:00
03f451f2f1
fix own error with subdivision (broke icosphere), also noticed icosphere vanished at subd-5 which didnt happen before bmesh.
2012-04-23 23:01:03 +00:00
8baa5fbde2
- fix for python freeing its own bmesh clearing the global mirror cache.
...
- fix for own mistake (Ctrl+T didnt set beauty peroperty).
- remove bad level includes in bmesh.
2012-04-23 04:24:11 +00:00
b51590d55d
code cleanup: bmesh subdivide code - BM_mesh_esubdivideflag() & "esubd" bmesh operator was passing a flag about in a fairly confusing way.
...
since we will eventually have python bmesh operator access better expose this as multiple booleans.
remove remaining editbutflag's
2012-04-23 03:43:02 +00:00
792f536b36
code cleanup: better use of BLI_array_* (grow in larger steps where possible), include BMO_iter_new in for loops.
2012-04-23 02:17:57 +00:00
b26865ba99
code cleanup: prefer BM_face/edge/vert_select_set() over BM_elem_select_set() when the type is known (saves switch statement check on the type).
...
Add asserts so the correct types are ensured.
2012-04-20 16:55:47 +00:00
b40476455e
code cleanup: remove unused BMesh args.
2012-04-19 14:38:09 +00:00
475ecbb0ce
remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases).
2012-04-19 13:47:58 +00:00
75b869e428
style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER
2012-04-19 11:44:12 +00:00
e9358a3806
bmesh api changes:
...
- remove recently added BM_mesh_select_flush_strip(), functions purpose wasn't clear.
- add BM_mesh_elem_hflag_disable_test(), BM_mesh_elem_hflag_enable_test()
to match existing BM_mesh_elem_hflag_enable/disable_all(), these take a hflag to test before editing each element.
This replaces the need for BM_mesh_select_flush_strip().
2012-04-13 04:02:26 +00:00
11a4dab32b
bmesh minor change - avoid increasing array sizes one by one and use iterator macros.
2012-04-06 11:50:16 +00:00
58064bdfc4
code cleanup: add doxygen headers to bmesh operator files, also add own include so definitions dont get out of sync.
2012-04-06 09:21:19 +00:00
817a96f243
fix [ #30735 ] bmesh: loop-cut cuts faces isolated by hidden faces
2012-04-03 06:12:04 +00:00
be0d4f8e45
BM_mesh_esubdivideflag was adjusting the totedgesel variable when this is handled by selection functions.
2012-04-03 06:05:43 +00:00