b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
44b634bcb1
make EDBM_index_arrays's stay in memory, blender was allocating an array and filling it for verts/edges/faces on every redraw.
...
this may introduce bugs which I didn't catch, but they are very easy to identify in a debug build which has asserts to ensure the arrays are valid before use.
in my own test drawing ~98,304 quads - this gave an overall ~16% drawing speedup.
2012-12-12 06:53:39 +00:00
cf723e5e7c
use htype flags as arguments to EDBM_index_arrays_init(), no functional changes.
2012-12-12 05:27:52 +00:00
e647c748fb
fix [ #32518 ] Vertex slide crash sometimes.
...
Undo would leave BMEditMesh->me pointer NULL, this would likely crash EDBM_verts_mirror_cache_begin() too.
Rather then restore 'me', remove the pointer altogether and use BMEditMesh->ob->data to save us having to keep track of 2 pointers.
2012-09-10 03:42:29 +00:00
d87ca16fb8
Small type fix for BMEditMesh.lastDataMask, should be 64-bit.
2012-04-25 03:44:01 +00:00
09f29c0b70
style/name cleanup: have EDBM_* functions match our style guide and also match BM_ function naming conventions
2012-03-27 04:46:52 +00:00
ca05219f3e
fix [ #30651 ] bpy.ops.object.mode_set(...) editmode removes faces.
...
problem was that BMesh had tessellation call when undo pushes were called.
if python called an operator with no undo push, tessfaces would not be created.
fix this by making it the responsibility of each editmesh operator to re-tessellate, as it is with notifiers and depsgraph.
added EDBM_update_generic() function to add notifier, tag for depsgraph update and optionally re-tessellate.
2012-03-27 00:01:35 +00:00
303cecf139
spelling cleanup: tesselate -> tessellate (last of these found)
2012-03-20 22:56:26 +00:00
95670e03a0
style cleanup / comment formatting for bli/bke/bmesh
2012-03-03 20:19:11 +00:00
7bbf4b7831
style cleanup
...
- spelling - turns out we had tessellation spelt wrong all over.
- use \directive for doxy (not @directive)
- remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-03-02 16:05:54 +00:00
622ac0dd16
code cleanup:
...
replace casts: '((Mesh *)ob->data)->edit_btmesh' with 'BMEdit_FromObject(ob)'
also minor style edits.
2012-03-02 12:09:49 +00:00
ece3418b4e
edit-derived-mesh had a table for vert/edge/face lookups - that were never used.
...
removed these and replaced them with calls to BM_vert_at_index, BM_edge_at_index - which are not ideal but same as trunk does.
2012-02-19 01:51:36 +00:00
2fcb6d058e
style cleanup for bmesh headers
...
- use consistant header guards
- correct doxy comments
- remove ED_toolmode.h (unused)
2012-02-12 14:40:08 +00:00
61a5cc28be
disable re-tesselation for modifiers that use bmesh, array/bevel/edge split - were tesselating 2 times and didnt need to.
...
also comment array modifier from flushing selection flags.
2012-01-22 21:12:18 +00:00
8eab2c66a7
workaround for tessface not being recalculated when undo is disabled
2011-12-11 05:05:37 +00:00
243ef037c9
BMEditMesh.mirror_cdlayer wasnt being set anywhere, adding any other type of layer would break editmesh mirror editing.
2011-10-28 06:23:12 +00:00
5a2a3d7d82
more syncing with trunk, also cleared many warnings with gcc4.6
2011-05-09 04:06:48 +00:00
d6158a4019
brought back x-mirror editing, though it's currently buggy. also made tesselation face normals writable to disk.
2010-03-11 05:30:01 +00:00
abd16aac5a
ok, apparently didn't commit this either. apparently includes a merge with trunk/2.5 at r24811 I thought I'd committed but did not, yeek.
2009-11-29 00:53:23 +00:00
e3a410d224
shapekeys are now stored as customdata in editmode, so edit operations like subdivide work (mostly) correctly. tesselated faces now store correct normals in more situations. and added more missing files from the last merge, there may be more though.
2009-11-02 06:33:16 +00:00
e0a014a45f
finished removedoubles, and inlined a bunch of functions.
2009-09-09 06:28:58 +00:00
8823761534
vpaint works with the new face structures, yay, though it probably still has issues, needs more testing. also hopefully fixed subsurf crash everyone but me was getting, what I found should have caused crashes even for me, no idea why it did not. also got face flags to work with subsurf, and partially got materials, though theres still a problem there.
2009-08-30 21:30:07 +00:00
f2138686d9
moved the selection history stuff within bmesh itself, to avoid memory access problems. also committing some playing around I did with the edge subdivide code, which isn't doesn't really completely work.
2009-07-17 10:54:00 +00:00
5abbb20c89
extrude handles active face, and operators now properly restore unmodified mesh on failure
2009-06-18 07:11:55 +00:00
80effa20b1
moved the active face pointer to BMesh, where I think it belongs. also made some fixes to the ccgsubsurf derivedmesh, and some general modifier bugfixes. note that modifiers are still rather buggy and crashy at the moment, heh :) also made some functions for converting Mesh flags to BMesh flags, and back.
2009-06-12 14:02:37 +00:00
5bb09886fb
mesh DNA modficiations; two new structures added for storing ngons, MPoly and MLoop.
2009-05-26 04:17:47 +00:00
5e1fba0e43
extrude works now, though vert extrude does not. still plenty of work needed on this code. also did some work on the select infrastructure; the bmesh api now tracks the number of selected verts/edges/faces.
2009-05-18 14:55:34 +00:00
0ba863de29
renamed BMTessMesh to BMEditMesh, did some more monkeywork, cleaned up the more serious warnings, and also non-backbuffered selection sortof works now, though it still needs plenty of work.
2009-05-18 08:46:04 +00:00
166c270f06
NOTE: do not test. work-in-progress commit with editmesh ripped out and replaced with bmesh. this is not usable by any means. for those who read through this, note the design is still fairly messy in places, and fyi BMTessMesh is the replacement for EditMesh, I need to rename it to BMEditMesh.
2009-05-16 16:18:08 +00:00