34d98cfe61
BMesh: spin option to merge first/last
...
For 360d revolutions this is almost always whats intended,
enable by default.
2018-09-26 09:55:17 +10:00
06d4fad313
BMesh: option to flip normals for extrude/spin
2018-09-25 13:31:29 +10:00
854db8951b
Cleanup: strip trailing space in bmesh module
2018-06-04 08:49:47 +02:00
2be8598fe7
Fix T53811: "bmesh.ops.split" crash
2018-01-18 12:36:25 +11:00
89120cd241
bmesh: use 'uint' instead of 'unsigned int'
...
no functional changes.
2017-05-06 14:19:08 +10:00
5afe4c787f
BMesh: add BM_mesh_separate_faces
...
Fast-path for bmesh split operator which duplicates and deletes.
Use when only separating faces, currently used by the intersect tool.
2017-03-11 20:50:32 +11:00
0a026033ae
BMesh: make toolflags optional
...
Saves 8 bytes per vert/edge/face.
Gives overall ~20-25% memory saving for dyntopo sculpting
and modifiers that use BMesh.
2016-07-01 19:29:22 +10:00
4e500101a7
Cleanup: quiet -Wcomma, cast to void where needed
2016-03-05 09:16:12 +11:00
ea5f9fee8d
Cleanup: function arg wrapping
2015-05-05 16:34:38 +10:00
46e2d5ee41
Cleanup: typo
2014-11-21 14:16:35 +01:00
ca1bca442a
Fix T40993: Store selection history for extrude
2014-08-25 16:57:38 +10:00
7df8452d1a
BMesh: add bmesh delete functions that dont depend on operator flags
2014-01-17 14:55:06 +11:00
590f58d455
code cleanup: redundant includes and add minor comments.
2013-10-08 20:18:38 +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
da7af1e271
correct own error in r59365, reported as [ #36536 ] Extrusion detaches faces
2013-08-22 18:52:34 +00:00
c1cc9f3376
bmesh duplicate operator: add vertmap output slot.
2013-08-22 17:32:41 +00:00
fca659252f
code cleanup: bmesh duplicate functions
...
- avoid using an iterator when stepping around an edges radial loop.
- use naming constant with the rest of the bmesh operators.
2013-08-21 14:35:51 +00:00
649743dfd6
mesh duplication was doing a loop & hash lookup for every loop corner, when there is no need since the faces are aligned.
...
was also initializing and stepping an iterator for no reason.
2013-08-21 11:27:18 +00:00
7d661839a6
correct error in recent commit (face customdata)
2013-08-21 11:09:50 +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
78820edafc
use bmesh for loop macros for looping over mesh verts/edges/faces
2013-08-01 18:33:35 +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
5dc3cfc983
fix [ #36282 ] Spin error with non uniform scale
...
add support for passing object matrix to bmesh transform operators.
2013-07-26 11:15:22 +00:00
cdac157f4c
code cleanup: use iterator macros, and replace BM_LOOPS_OF_FACE with direct loop access when converting a bmesh to a mesh.
2013-07-24 18:38:55 +00:00
79b919644b
code cleanup: remove array reallocation in bmesh duplicate function (use alloca)
2013-07-19 10:39:32 +00:00
fad1da062d
correct typos in comments.
2013-06-25 22:58:23 +00:00
59ca83c3a9
rename axis_angle_to_mat3_no_norm() --> axis_angle_normalized_to_mat3().
...
this matches closer to convention from existing functions - angle_v3v3() angle_normalized_v3v3().
also added assert to ensure argument given to axis_angle_normalized_to_mat3() is in fact normalized.
2013-04-15 15:16:11 +00:00
b1f4e2b4db
code comments: bmesh operator doxy header descriptions.
2013-03-30 08:54:50 +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
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
c5a8bd498d
use radians for 'spin' bmesh operator (since the rest of the py api uses radians). also rename BMO_OP_SLOT_SUBTYPE_MAP_FLOAT -> BMO_OP_SLOT_SUBTYPE_MAP_FLT for consistency.
2012-11-28 00:47: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
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
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
25c96bc9f3
code cleanup: remove unused macros, commet some which may be useful later - or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc
2012-09-20 01:02:39 +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
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
0a2da1ee45
patch [ #31574 ] Screw seams to not work
...
from Benoit Donat-Bouillud (ladeheria)
from tracker -
When using a screw axis (reference edge for screw), the operation always give the same result (as if the orientation of the reference edge was not take into account).
2012-06-13 16:06:13 +00:00
ed33320e3f
Code cleanup: simplify standard GHash creation.
...
Added four new functions as shortcuts to creating GHashes that use the
standard ptr/str/int/pair hash and compare functions.
GHash *BLI_ghash_ptr_new(const char *info);
GHash *BLI_ghash_str_new(const char *info);
GHash *BLI_ghash_int_new(const char *info);
GHash *BLI_ghash_pair_new(const char *info);
Replaced almost all occurrences of BLI_ghash_new() with one of the
above functions.
2012-05-16 00:51:36 +00:00
a731e13043
code cleanup: function naming, use BKE_*type* prefix.
2012-05-05 14:03:12 +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
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
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