0ac194687e
style cleanup
2013-09-18 00:07:17 +00:00
15039b14ff
Make strict compiler happy for release builds.
2013-09-02 17:24:56 +00:00
01a2634d61
fix [ #36412 ] Pivot of active element switches to last selected face after duplicating vertices.
2013-09-02 04:39:48 +00: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
b7a3a3894e
internal bmesh operator change, always initialize ghash for mapping slots, save having many checks.
2013-08-27 22:13:11 +00:00
09a52f18b6
ghash: reserve size when its known or can be guessed close enough.
...
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
2013-08-24 17:33:47 +00:00
a4b922ad9b
correct invalid sizeof() use in bmesh (harmless in practice)
2013-08-03 17:27:05 +00:00
4982f200fa
move alloca define into its own header since its not related to BLI_array
2013-07-28 10:38:25 +00:00
7c58ec9337
use math functions for copying matrix/vector types, also cast const pointers for freeing (clang error's out otherwise)
2013-07-26 10:43:23 +00:00
b7826c42df
enable type limits warning when compiling with gcc.
2013-07-19 10:39:25 +00:00
930dde34a3
BM_mesh_clear was setting toolflags incorrectly, also no meed to calloc when shrinking toolflags array.
2013-07-10 13:06:31 +00:00
73d32fdcc2
add type checking assert in bmesh operator iterator.
2013-07-01 07:12:05 +00:00
716ed32d90
fix [ #34870 ] bmesh.ops.* parameter lists and descriptions don't show in PyConsole on auto-complete
...
more a feature request then a bug but nice to have __doc__ on bmesh operators.
2013-04-05 19:58:18 +00:00
cb6f4160cc
api cleanup: replace BMO_vert_edge_flags_count() with more reusable function - BMO_iter_elem_count_flag().
...
closely matching existing BM_iter_elem_count_flag() function but checks tool-flags instead.
2013-03-27 10:14:09 +00:00
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
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
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
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
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
2ee180eab6
add threshold for bmesh & openmp so its not used with low poly meshes, BM_OMP_LIMIT may need tweaking.
2012-12-12 07:20:34 +00:00
3d69dbd44a
use openmp to thread some common bmesh operations
...
- BM_mesh_elem_toolflags_ensure / bmo_flag_layer_alloc / bmo_flag_layer_free / bmo_flag_layer_clear
- BM_mesh_select_flush
- EDBM_index_arrays_init
notes:
- mostly use openmp `sections` to split operations on vert/edge/face since this is a fairly minor change.
- split tool flag pool in 3, this means we can allocate exact sizes needed and iterate on them in threads without alloc'ing.
2012-12-12 05:04:01 +00:00
e2f0a1e4db
own cleanup commit in bmesh branch - removed last letters from ends of some comments.
2012-12-11 14:24:27 +00:00
231d1a3ddd
bmesh toolflags would use BLI_MEMPOOL_SYSMALLOC when reducing layers only (would use MEM_mallocN in one case but malloc in another). better use blenders MEM_mallocN for both.
2012-12-08 13:15:04 +00:00
1d09d0a9c5
Silent some warnings (the one in bmesh_operator.c was even preventing build in -Werror mode).
2012-12-02 13:35:33 +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
69948150ad
improve docstring for BMO_op_vinitf().
2012-11-27 23:37:02 +00:00
c00a1b7493
use clearer names for 'single' bmesh operator args & add '%e' to BMO_op_vinitf comments.
2012-11-27 09:41:08 +00:00
a9855c227e
py/bmesh api - add support for single item buffers (odd feature but used quite a bit with bmesh operators).
...
also add utility functions BMO_slot_buffer_from_single(), BMO_slot_buffer_get_single()
2012-11-27 09:21:57 +00:00
9982b283e6
fix for asserts added in own recent commit with more strict type-checking
...
- BMO_slot_copy now only copies compatible elements.
other minor changes
- don't use text.format(...), convention for UI scripts is C style string formatting.
- rename bmo_edgenet_prepare --> bmo_edgenet_prepare_exec
- float/double warning in bevel.
2012-11-27 02:34:40 +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
42c54bcd93
py/bmesh api - support for converting from/to BMO_OP_SLOT_MAPPING type.
2012-11-26 08:44:37 +00:00
3d64381e4d
use more rigid type checking for bmesh slot subtypes.
2012-11-26 03:16:29 +00:00
3fe8134d6d
add subtypes to bmesh operators (needed for python api to know how to convert return values).
2012-11-26 02:24:03 +00:00
55535b21fe
fix own error - remove doubles slot name.
2012-11-22 01:00:40 +00:00
68e9fdeb81
code cleanup: comment unused members of bmesh operator slots and some osl style edits.
2012-11-20 14:31:58 +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
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
a9af563526
bmesh: lazy initialize bmesh tool flag pool, has the advantage that modifiers that dont use bmesh operators can skip allocating it.
2012-11-18 12:14:22 +00:00
42ebc9bc80
bmesh: move internal API flags out of BMFlagLayer, into BMHeader which was being padded up anyway, added static assert to make sure it stays <=16 bytes.
2012-11-18 10:17:07 +00:00
ae06e2cf9b
fix [ #33000 ] bmesh.ops.create_* either crash blender or do nothing
2012-11-08 10:32:11 +00:00
964f29797b
avoid using BLI_array for remove double helper function - bmesh_find_doubles_common(), was growing and array one at a time (with re-allocs), when the size is known.
2012-11-05 14:39:49 +00:00
eb69d1c1ae
style cleanup: also quiet harmless compiler warning.
2012-10-29 15:43:54 +00:00
c9dade4fe0
Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()...
2012-10-26 17:32:50 +00:00
aff591c6e1
code cleanup: typos and set exceptional cases of zero length normals as UNLIKELY().
2012-09-17 22:22:06 +00:00
1a7eb3454e
style cleanup
2012-09-08 08:59:47 +00:00
d9fcbe2f59
remove BMO_OP_FLAG_RATIONALIZE_NORMALS option which wasnt used anywhere.
2012-07-21 01:09:11 +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
2ed69a95f4
add bmesh/python operator support for vector and matrix args.
...
also rename BMO_OP_SLOT_PNT to BMO_OP_SLOT_PTR (matches RNA and sounds less like 'point')
2012-07-02 20:28:43 +00:00
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00