Joseph Eagar
209b0773a9
=bmesh= fkey for dissolve works again, also fixed a crasher
2010-07-22 04:45:18 +00:00
Joseph Eagar
c11c196efa
part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :)
2010-07-19 04:44:37 +00:00
Joseph Eagar
f54aa78110
forgot these
2010-07-15 01:43:09 +00:00
Joseph Eagar
5d1c1c6421
[note: do not test quite yet]
...
Phase 1 of restructuring done. There are now two
distinct subclass systems within the bmesh API;
one is compile-time, and forms the backend of what will
eventually be a "lite" bmesh API for modifiers (the
ones that use bmesh are simply too slow right now).
The other is dynamic, and will be used to implement
multires reprojection.
The idea was to solve as many serious problems with
memory, speed, etc, at once as possible and set up others
to be solved more easily later.
I've also added holes into the data structure, but not
the api; I don't plan to finish implementing that until
after bmesh gets into trunk. I simply wanted to lessen
how much code I'll have to rewrite, since I was doing a
fairly major restructuring anyway.
In addition, I've added iteration support to mempool, to
avoid having to store linked list pointers (though this
has caveats).
Next step: merge in trunk changes. . .oh, what fun :P
2010-07-15 00:55:31 +00:00
Joseph Eagar
a37bcf93ef
wip commit; DO NOT USE. almost done with phase 1 of this restructuring, basically just some things that needed to be done before trunk (and some things that needed to be started, but can be finished much later).
2010-07-14 22:06:10 +00:00
Ken Hughes
fbfbcb40b7
BMesh branch
...
------------
Move a char array from a header to a C file, primarily to stop numerous
warnings.
2010-03-11 19:02:52 +00:00
Joseph Eagar
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
Joseph Eagar
b8b6fad640
fixed edge slide to an extent, though it still needs work (finding correct transform direction vector, uvs/vcols, etc). also got delete and vert connect (ykey) to work again.
2010-03-10 11:16:26 +00:00
Joseph Eagar
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
Joseph Eagar
08351bf3d6
ported triangles to quads.
2010-02-18 10:09:52 +00:00
Joseph Eagar
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
Joseph Eagar
0e165c55bb
did math lib conversion, equivilent to merge with trunk/2.5 at r24464
2009-11-23 14:41:22 +00:00
Joseph Eagar
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
Joseph Eagar
2d0d4e7de4
commit before doing some hefty shapekey change, will break compilation
2009-11-01 00:06:53 +00:00
Joseph Eagar
8f788c64db
merge with trunk/2.5 at r23876
...
[[Split portion of a mixed commit.]]
2009-10-22 23:22:05 +00:00
Joseph Eagar
d4a9660b99
part 1 of vkey rip tool. still needs more work. ugh, doing this tool correctly is a nightmare.
2009-10-07 21:19:58 +00:00
Wael El Oraiby
c75e1598dd
vertex color rotation and reversing/shortest vertex path
2009-09-20 18:18:40 +00:00
Joseph Eagar
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
Joseph Eagar
deebf4f8f0
merge with 2.5/trunk at r23271
2009-09-16 17:43:09 +00:00
Joseph Eagar
6b0679a399
mirror fix attempt 2
2009-09-15 19:36:10 +00:00
Joseph Eagar
a54a9d5d4e
fkey on two broken edge loops will create an ngon now, as will fkey on one broken edge loop
2009-09-12 08:41:39 +00:00
Joseph Eagar
186603c2ff
commit of patch #19287 by Wael S Oraiby, implementing a reverse face uvs feature, which replaces mirror uvs (which didn't make any sense outside of quads).
2009-09-12 07:08:57 +00:00
Joseph Eagar
3ba1ac13d0
coded implemented for create faces from edgenet. note this is automatically executed from fkey now where appropriate, without popping up an annoying menu. also forgot to commit some ui scripts related to the pinning commit.
2009-09-10 11:23:34 +00:00
Joseph Eagar
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
Joseph Eagar
4c072f85d9
commit of transform pinning patch by Fabian Fricke (frigi). wip hotkey is enter/alt-enter to pin/unpin verts. pinned verts aren't affected by transform, e.g. grab, rotate, etc. this could probably work nicer for proportional editing, but that can be done later. also the UI for this probably needs reviewing and feedback. still, very nice patch by Fabian, something I for one will probably find very useful :)
2009-09-10 03:59:12 +00:00
Joseph Eagar
b0a1904d33
another optimization pass. biggest change is MDeformGroup->dw is now allocated via a somewhat simplistic, if effective allocator. This needs a little bit more work; I'd really prefer building this into guardedalloc, but the method requires mempools, which currently live in blenlib. and I'm not sure if we can have guardedalloc linking with blenlib? anyway, current allocator code is more of a temporary fix until I figure that out.
2009-09-10 01:46:52 +00:00
Joseph Eagar
e0a014a45f
finished removedoubles, and inlined a bunch of functions.
2009-09-09 06:28:58 +00:00
Joseph Eagar
67c64cf82b
more optimization stuff. transformed a few functions into macro that profiling showed were taking a bunch of time. also have some work-in-progress (if disabled) stuff related to inlining, which I'm trying to get working but may be too much trouble.
2009-09-06 02:43:36 +00:00
Joseph Eagar
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
Joseph Eagar
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
Joseph Eagar
9bb0b42b9b
made editmesh<->bmesh conversion work again, hopefully (bleh). also made BLI_edgehash use mempools for allocating the bucket entries, for speed.
2009-09-03 05:52:05 +00:00
Joseph Eagar
cdce0f03c8
commit of patch 19268, rotate uvs by wael oraiby
2009-09-02 20:26:12 +00:00
Joseph Eagar
bb28b5d1fe
some merge, vpaint and wpaint bugfixes
2009-09-01 16:05:33 +00:00
Joseph Eagar
c91e8e6ca1
finished bmeshafying merge, though probably needs further testing and debugging. also fixed nasty bug in DM_to_mesh.
2009-08-31 23:07:05 +00:00
Joseph Eagar
89f0284982
Shift-G (select similar) is now bmeshafied for vert select mode.
...
The patch was by Wael El Oraiby.
2009-08-28 10:59:16 +00:00
Joseph Eagar
989dde4707
Shift-G (select similar) is now bmeshafied for edge select mode.
...
The patch was by Wael El Oraiby. Commit of patch #19257 .
2009-08-28 09:36:31 +00:00
Joseph Eagar
0ea787041d
subsurf works now! YES! take *that* subsurf_ccg.cscons/scons.py BF_QUICK=bf_python,bf_blenkernel,bf_blenlib,bf_blenloader,bf_editors_mesh,bf_bmesh,bf_editors_space_view3d,bf_editors_transform,bf_makesdna,bf_makesrna,bf_dna,bf_rn,bf_bmesh,bf_editors_object,editors_uvedit,editors_space_image,editors_screen,editors_space_screen,editors_space_api,bf_windowmanager,bf_wm still an issue with some modifier combinations though, and I think there's some memory corruption going on, need to valgrind it.
2009-08-25 10:21:10 +00:00
Joseph Eagar
8151a51684
Shift-G (select similar) is now bmeshafied for face select mode.
...
The patch was by Wael El Oraiby, who did a great job on it.
Yay for Wael! Commit of patch #19242 .
There's also some CCGSubSurf stuff mixed in with this, though it's
still not working right (fixed tons of bugs, just the main ones
for some reason are still there, despite their original causes
being fixed :-/).
2009-08-22 04:45:19 +00:00
Joseph Eagar
5c7982de5e
some uv/vcol collapse fixes. need to still work out the rules of collapsing regions of geometry that include seams, not sure how best to handle that.
2009-08-12 04:23:47 +00:00
Joseph Eagar
927e03cf16
fixed some problems in weld, collapse, and collapse uvs
2009-08-12 03:51:28 +00:00
Joseph Eagar
e4f0c65bf3
made subdivide's patterns more configurable, and also implemented all the quad corner types. still need to extend these options to the knife tool.
2009-08-11 11:33:23 +00:00
Joseph Eagar
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
Joseph Eagar
7e6662e60c
added a crash handler to dump the global undo state to file on segmentation fault. it saves to the current file path in G.sce + .crash.blend. note that this code is only enabled on release builds, it's #ifdef'd out if _DEBUG is defined. for users, if you were in edit mode when a crash happened, this will only save the mesh changes up to the time you entered edit mode.
2009-08-06 14:03:43 +00:00
Joseph Eagar
8f5d067c46
bmeshafied vertex smooth, and also added a 'repeat' option :) since the last operator panel works after this last 2.5 merge, yayscons/scons.py BF_QUICK=bf_python,bf_blenkernel,bf_blenlib,bf_blenloader,bf_editors_mesh,bf_bmesh,bf_editors_space_view3d,bf_editors_transform,bf_makesdna,bf_makesrna,bf_dna,bf_rn,bf_bmesh,bf_editors_object,editors_uvedit,editors_space_image,editors_screen,editors_space_screen
2009-08-06 11:27:08 +00:00
Joseph Eagar
416a3bf4a1
bmeshafied righthandfaces (ctrl-n, compute normals)
2009-08-06 08:23:10 +00:00
Joseph Eagar
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
Joseph Eagar
c73712675b
bmeshafied select more/less
2009-08-05 07:15:17 +00:00
Joseph Eagar
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
Joseph Eagar
012b419549
select linked has been bmeshafied, yay
2009-08-05 02:34:54 +00:00
Joseph Eagar
4936ec8afc
compile fix
2009-08-01 00:53:04 +00:00