Commit Graph

72 Commits

Author SHA1 Message Date
f5cf238884 the BMesh select mode wasnt being set on entering editmode, this made snap to selection fail. 2011-10-28 08:09:34 +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
74004631a1 workaround for createTransEditVerts overwriting index data to fix mirror. 2011-10-26 10:04:10 +00:00
834caf38dd - smooth tool now works for mirror.
- mirror was selecting verts from 0.4 distance which causes errors.
- utility function EDBM_ApplyMirrorCache(...)
2011-10-26 07:41:56 +00:00
2e0d838bc9 Fix bugs to get X-Mirror editing functionality working again 2011-10-25 16:17:26 +00:00
61b699bf9b remove $Id from headers 2011-10-24 23:32:24 +00:00
30141b4464 select boundary loop tool (aka region to loop) switches to edge select mode if the mode was face select 2011-10-15 14:47:37 +00:00
720f69aa9c Fixes for a few bugs in selection and the interaction between BM_SELECT and BM_HIDDEN:
- Select all was selecting hidden elements
- Select flush was also selecting hidden elements (so selecting two *visible* vertices of a *hidden* edge selected that hidden edge)
- Several places were using BM_SetHFlag(elem, BM_SELECT) directly, when they should be using BM_Select(bm, elem)
- In certain scenarios, "reveal all" could leave you with selections which aren't valid in that selection mode (e.g. lonely edges selected in face select mode)
2011-09-30 04:27:12 +00:00
1f12740a82 make error prints more helpful & correct some comments for rip code. 2011-09-24 12:13:13 +00:00
594b0298c7 A couple of trivial perf improvements:
-BMEMSET macro should cache the size of the memory block instead of reading each iteration
-Avoid tesselating the backup copy of the mesh used to restore after an error (unless there is actually an error)
2011-09-16 14:28:23 +00:00
d48ee9d035 Submit of patch [#28568] BMesh: make active element highlights work 2011-09-13 13:41:20 +00:00
8c43e785d9 revert own commit r40051, mesh and object pointers are needed for undo, this commit caused bug [#28625] Separate crash bug.
also added a safety check for the crash, even though reverting fixes.
bmesh_to_mesh_exec() could set me->mface array to NULL but leave me->totface when notellelation=1, which is likely to give trouble elsewhere.
2011-09-12 02:23:30 +00:00
0727893231 remove mesh and object arguments from bmesh operators, these are stored within the BMesh its self. 2011-09-09 02:21:57 +00:00
2448f8caa9 code cleanup - commant/remove unused vars and reduce scope. 2011-09-07 06:49:20 +00:00
3e4bf6d4ad =bmesh= knife tool applies to modifier cage now, also fixed some bugs in it 2011-08-30 01:59:33 +00:00
1d8fa52883 rename BMINDEX_GET/SET to BM_GetIndex/BM_SetIndex 2011-05-13 10:49:26 +00:00
cc2352cdd0 =bmesh=fixed shapekey mem leak 2011-05-12 18:33:10 +00:00
1e90add66c more syncing with trunk. 2011-05-11 09:31:00 +00:00
cd55aeaf6d set many vars & functions as static,
also commented invalid pin theme alpha assignment so bmesh branch builds with -Werror
2011-05-11 02:14:43 +00:00
5a2a3d7d82 more syncing with trunk, also cleared many warnings with gcc4.6 2011-05-09 04:06:48 +00:00
3462ddf17f =bmesh=
Cut out some unwanted differences with trunk
in preparation for merge.  Also fixed some
warnings, though many remain.
2011-05-07 02:48:14 +00:00
2a24370bab =bmesh= fixed a shapekey issue with undo 2011-04-17 05:08:03 +00:00
0e9ce1b40d =bmesh= odd bug, sometimes edge slide would result in invalid derivedmesh. I had to put a recalcData() call into edge slide's free function. not sure why edge slide but not other transform tools are acting up. 2011-04-17 04:12:53 +00:00
4d7de0796b =bmesh=
Knife tool now works on multires data, it's also
a tad bit faster now.
2011-04-13 00:35:48 +00:00
7d43a48993 =bmesh=
Multires interpolation is considerably better
now, though it still has a problem with occasionally
producing little random tangent spikes.  Still, it's
far better then it was.

Also fixed a bug in dissolve faces.
2011-03-29 05:48:18 +00:00
f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
c128a8c12a =bmesh= fix bug with uvlayers 2011-02-23 08:12:27 +00:00
8b4eab10f1 pre-merge commit 2011-02-15 01:16:32 +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
71003b9bcc merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though further work may be needed because changes made by the merge 2010-03-09 04:32:40 +00:00
20fac2eca7 The Death Of Editmesh - Part 1
I've removed editmesh altogether (other then scanfill, which is
seperate code that happens to reuse the editmesh structures).
The compatibility layer I had written for old editmesh tools
was more trouble then it was worth, though it did help in the 
early stages of this project.

There's a fair amount of breakage, and there's bunches of tools
(mostly minor ones) I need to port over still.  Biggest ones are
join triangles and loop to region, and spin/screw.

This probably isn't really testable, I'll hopefully have more
work done on this soon, but might not be before next week.
2010-01-28 00:45:30 +00:00
473f235a6e pre-merge commit; decided might as well get it over with. 2009-12-26 08:47:38 +00:00
0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00
cfa4f3222a ctrl-alt-leftclick for adding new geometry works, but blocks zoom. we have got to fix this in 2.5. also made dissolving a 2-valence vert leave an edge behind. and fixed a bug or two. 2009-11-06 12:59:58 +00:00
55c1d9d4bc shapekey bugfixes 2009-11-02 16:01:24 +00:00
7225c078b7 bmesh compile fixes 2009-11-02 14:45:12 +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
2d0d4e7de4 commit before doing some hefty shapekey change, will break compilation 2009-11-01 00:06:53 +00:00
0c65f27c79 part 1 of cleaning up my little array macro library to be a formal API. also removed some extraneous selection calls from loopcut.c. 2009-09-17 23:05:33 +00:00
b2c16fb401 forgot this file 2009-09-16 22:27:22 +00:00
deebf4f8f0 merge with 2.5/trunk at r23271 2009-09-16 17:43:09 +00:00
4652d66c0a editmode undo stores data as mesh dna now, instead of bmesh copies. also fixed a bug related to vpaint and hide flags. 2009-09-10 06:08:52 +00:00
e0a014a45f finished removedoubles, and inlined a bunch of functions. 2009-09-09 06:28:58 +00:00
971155b373 part one of profiling/optimizing. made cddm not update tesselations itself in cddm_from_mesh. also made BMO_Test/Set/ClearFlag into macros, and tweaked the way normals are calculated. 2009-09-05 06:10:30 +00:00
dae0b7a4a2 fix merge bug, this should fix this issue for now, but might need further work later. 2009-09-04 01:28:06 +00:00
8408a72d16 cddm's recalc tesselation function works, and some memory leak fixes 2009-08-29 23:55:35 +00:00
771a4dee0b commit of framework for uv/vcol rotate/mirror 2009-08-28 10:17:31 +00:00
eb34e3ad7c Brought Extrude all the way back. The contextual menu works,
as does only edges and individual faces extrude (individual vert 
extrude already did).

Note that I need to port this, after we all figure out how to handle
operators with variable transform follow-ons.

I also implemented the merge->collapse function, which is currently
accessable under ctrl->v, Bmesh Test Operator.  I still need to
implement the other merge modes, and properly hook everything into
the merge menu tool, which I plan on doing soon (tomorrow hopefully).

The cool thing about the collapse tool, is not only does it handle (all)
UV layers, it handles vcols as well.  To do this, I had to add a few math
functions to the customdata API, which seem to be working well.
2009-08-11 07:49:35 +00:00
88b43b52b1 select more/less properly uses bmops now, and also made a little start on documenting the bmops. 2009-08-06 05:06:55 +00:00
886b613363 bmeshafied the hide/reveal code. created a set of API functions for hiding/revealing elements in bmesh_marking.c. main function is BM_Hide, which can hide or reveal an element (vert/edge/face, NOT loops, obviously), and will handle any flushing necassary. also renamed BM_Is_Selected to BM_Selected, though I may get rid of that function altogether. 2009-08-05 06:06:58 +00:00