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
80b1adf8c2
BMesh: avoid calling delete operator w/ face dissolve
...
In nearly all cases this isn't needed.
2016-05-12 16:47:30 +10:00
544b76ac9c
BMesh: ignore non-manifold face connections
...
Was showing an error message,
now dissolve the faces that and delimit at non-manifold boundaries.
2016-05-12 06:00:05 +10:00
4e500101a7
Cleanup: quiet -Wcomma, cast to void where needed
2016-03-05 09:16:12 +11:00
74d31279cd
Fix T44560: Merge Collapse tool - UVs operator panel option ignored with Collapse but not with other merge types.
...
Was missing parameter for collapse bmesh operator...
2015-05-01 17:10:39 +02:00
9e9cd77b8d
Compiler warning: double-promotion
2015-02-01 01:17:21 +11:00
a71a947c6a
Fix T41568: Dissolve & Tear Boundary Keeps Verts
2014-08-26 13:35:43 +10:00
41c31b8e55
Correction to recent rip-tear
2014-07-24 23:25:01 +10:00
1f55044617
Editmesh: Add option to tear boundary vertices when dissolving
2014-07-24 03:29:17 +10:00
beedb0b274
BMesh: more edits to vertex dissolve, handle mixing wire edges with faces better
2014-06-27 22:06:49 +10:00
d6ab81809e
BMesh: tweaks to dissolve, remove wire edges before other calculations
...
also avoid feedback loop when checking topology giving nondeterministic results.
2014-06-27 20:28:36 +10:00
e947dd8cd7
BMesh: add BM_vert_is_edge_pair(), faster then checking (BM_vert_edge_count(v) == 2)
2014-06-27 20:28:32 +10:00
c3deb16c16
BMesh: add ability not to delete vertex when collapsing
2014-06-27 20:28:02 +10:00
2aca720bff
Fix T40813: Dissolve verts with adjacent regions, removes the dividing edge
2014-06-27 05:39:39 +10:00
0ea7302349
Fix for dissolve faces iterating over verts while removing
2014-06-26 23:29:45 +10:00
cc7cfd6617
Mesh Tool: removes degenerate edges, faces and face ears.
2014-02-17 11:41:19 +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
283f43d31a
Fix T37559: Crash dissolving vertices in some situations
2013-11-22 19:42:14 +11:00
51f7f82a42
fix crash in editmesh edge-dissolve, when 2 faces shared multiple edges, freed edges would be checked.
2013-10-03 15:29:08 +00:00
6b2e563924
yet another instance dissolve deletes verts it loops over.
2013-10-03 10:50:03 +00:00
5b5bc63396
fix [ #36923 ] Merge / Delete vertices crashes for some meshes
...
add BM_ITER_MESH_MUTABLE which steps before entering the for() loop body and prevents the assert from complaining about removing mesh data while iterating as well as the crash.
this was done in quite a few areas, more may turn up.
2013-10-03 07:06:56 +00:00
6cba2b8d73
move bmesh tools into their own include,
...
changes to tool args would rebuild far too many files and these are mainly by modifiers outside of bmesh.
2013-08-23 04:22:07 +00:00
5fafc222f0
style cleanup
2013-08-17 08:21:40 +00:00
72f2917032
bmesh: skip error checks when building in release mode (minor speedup),
...
also more strict use of BLI_array_declare(), only allow after array is declared.
2013-07-28 09:05:27 +00:00
3270031660
correct problem with limited-dissolve not leaving the selection correctly (caused by BM_elem_attrs_copy no longer dealing with selection)
2013-07-25 06:05:44 +00:00
6664d1bf59
remove 'dissolve_edge_loop' bmesh operator, edgeloop dissolve replaces this now.
2013-06-14 04:04:35 +00:00
b913385e32
bmesh edge dissolve: add option use_face_split (matching vertex dissolve option),
...
useful to avoid odd shaped ngons surrounding dissolved edges.
2013-06-14 02:30:40 +00:00
790e9d9fa0
fix [ #35311 ] Planar Decimate / Limited Dissolve fails to merge some adjacent faces
...
optionally limit by face flipping, also added support to delimit by material and edge crease.
2013-06-03 05:07:16 +00:00
6f8c29ab0b
fix for 2 errors introduced since release
...
- shape key NULL pointer dereference.
- use uninitialized variable for bmesh free.
also update credits and merge dissolve flag assignment.
2013-05-09 07:02:51 +00:00
7bd7da7cc6
code cleanup: dissolve - use iterator macros, remove unused function.
2013-05-08 14:08:37 +00:00
7dbf6d513e
mesh dissolve vertices: option to split off corners of surrounding faces, makes the result more localized to the area around the vertex.
2013-05-08 14:01:38 +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
8661e820f9
bmesh: dissolve, avoid unnecessary loop in test_extra_verts(), also minor code cleanup.
2013-03-12 05:48:30 +00:00
539d7d460d
bmesh: maintain active face when dissolving.
2013-03-12 05:36:43 +00:00
c36f20a7d2
style cleanup
2013-03-08 04:00:06 +00:00
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
9f2e845181
code cleanup: use BMW_begin insode for loops body.
2013-01-14 09:53:56 +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
f70d2c65d8
rename api functions...
...
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23 13:28:22 +00:00
a82af0d220
add option to planar decimator to collapse all verts that define face boundries (verts that 2 faces share and have 2 edge users).
...
avoids ugly stepping between faces when applying on curves surfaces. (but less useful for architectural style models)
2012-10-23 06:13:56 +00:00
bbe0deb8af
add limited dissolve as a decimation type to the decimate modifier.
2012-10-23 05:20:02 +00:00
e75f5c8208
quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
...
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +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
32cf7fcdb1
code cleanup: spelling
2012-07-16 23:23:33 +00:00
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00
32ba51c4a1
fix for limited dissolve (after sine intended fixes - not cleaning up before vertex dissolve would skip dissolving some verts that should be dissolved).
...
now do this:
- edge dissolve
- cleanup (removing edges left over from dissolving faces)
cleanup removes verts and NULL vertex input array
- dissolve verts which haven't been removed.
2012-05-06 18:37:08 +00:00