a51a0ca772
Math Lib: add shell_v3v3_normalized_to_dist and v2 version
...
bypass angle calculation to avoids (asin, sqrt, cos).
2014-04-19 22:17:10 +10: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
9470754fd3
bmesh api cleanup, face creation args now accept an example face (as with vertex and edge),
...
also replace BM_face_create_quad_tri_v with BM_face_create_verts
2013-08-21 07:51:47 +00:00
8937a8b839
use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
...
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
5fafc222f0
style cleanup
2013-08-17 08:21:40 +00:00
7087b8b9fe
code cleanup: remove BLI_array use when extruding individual faces. also use BM_face_copy utility function.
2013-07-19 11:45:21 +00:00
4439eca654
fix [ #35503 ] Bug with BMesh and Mirror Modifier (Blender 2.67)
...
regression with bmesh - extruding was creating faces where it shouldn't.
2013-05-27 20:56:33 +00:00
b1f4e2b4db
code comments: bmesh operator doxy header descriptions.
2013-03-30 08:54:50 +00:00
db77fdc6ff
fix for own mistake in using alloca in a loop, replace with BLI_buffer
2013-03-16 00:41:32 +00:00
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
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
84361f602a
fix [ #33651 ] Spin tool destroys unselected loose vertex
...
bmesh.ops.extrude_face_region() didn't check for isolated verts (not connected to geometry), and removed them, happened for Ctrl+LMB extrude too.
2012-12-27 01:02:32 +00:00
2cb39ea9da
use BM_face_create() over BM_face_create_ngon() in bevel and extrude individual faces to get some speedup.
2012-12-19 09:45:56 +00:00
71730f26d7
replace BLI_array_fixedstack_declare with() new macro BLI_array_alloca() which uses stack memory always and doesn't need to be freed explicitly.
2012-12-11 15:10:19 +00:00
0526fcf13f
revert part of r52720, Id rather leave these as-is, even if they give warnings under some configurations.
2012-12-03 08:11:04 +00:00
818a345be3
Silent a bunch of gcc warnings (usually dummy, but noisy!).
2012-12-02 16:01:06 +00:00
07ccd3ee3f
fix [ #33029 ] Applying modifier leaks memory
...
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
2012-11-29 16:26:39 +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
3d64381e4d
use more rigid type checking for bmesh slot subtypes.
2012-11-26 03:16:29 +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
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
0bfc92ff8e
BM_iter_as_arrayN() can now take an optional existing array argument, useful to avoid many small malloc's by passing a fixes size stack variable instead.
...
Will give some speedup to edge-split modifier and bevel.
2012-11-12 05:53:43 +00:00
656b884387
fix for extruding edges giving incorrect (swapped) loop data for new faces.
2012-10-28 16:17:20 +00:00
0d5a6dccf7
code cleanup: minor changes before committing functional changes.
2012-10-28 15:37:29 +00:00
65bc9ee8d0
revert last commit, it broke regular face extrude. need to look into it further.
2012-10-27 15:34:54 +00:00
71a0fb5dde
fix for extruding single edges from faces giving flipped loop data - UV's/VCols
2012-10-27 15:24:19 +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
c9c76a9a68
add compiler hints that failing to create a bmesh face is unlikely.
2012-10-01 11:12:49 +00:00
bd53226b5c
fix [ #32423 ] Extrude crash
...
mistake in r50086 caused the crash (killing the wrong vertex)
2012-09-03 00:30:55 +00:00
809fce9d00
Fix #32341 : extrude with a mirror modifier could lead to orphan vertices, it
...
was already removing unnecessary edges, just not vertices of those edges.
2012-08-21 14:38:03 +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
8b865c01cd
style cleanup: comments
2012-06-30 22:49:33 +00:00
2932cded40
fix for own error renaming bmesh operator dupe
2012-06-30 21:19:12 +00:00
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00
ec29e2620e
Clear skin root flag on new vertices created by extruding.
...
Skin modifier documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/SkinModifier
2012-05-22 15:30:05 +00:00
2a1ba8c85b
style cleanup: formatting and some float/double promotion
2012-05-03 19:57:24 +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
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
8765dfccf7
style cleanup: correct typos
2012-04-21 14:14:58 +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
18a6282e59
improve recent commit to copy loop data on extrude
...
- in some cases the is only a face on the new edge, so check for this as a source to copy from too.
- one of the asserts wasnt correct, if there are no adjacent faces found just return.
2012-04-18 19:05:28 +00:00
580f19d949
fix [ #30994 ] Extruding faces gives bad UV's
...
this had strange logic, there was no need to loop over all face loops.
2012-04-18 09:56:19 +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
56c127e721
fix - extrude could create hidden faces when the only connected face to an edge was hidden, the hidden setting would be copied to the newly created face.
2012-04-02 03:51:16 +00:00
c7aed8b2af
For BMesh functions that test flags, add enabled/disabled variants.
2012-03-30 17:30:49 +00:00