Commit Graph

110 Commits

Author SHA1 Message Date
e1315ef15a implement select nth, separate loose parts, and a few bug fixes
This code is from Andrew Wiggen (ender79) and reviewed by me.

His comments:

Implements some tools that were marked TODO:
- select nth
- separate loose parts

And also fixes a few bugs;
- extrude and move on normals causes faces to disappear until the move starts
- hiding verts/edges/faces does not deselect them
- deleting a selection sometimes deletes too much (e.g. a solid cube and a wire cube build of only edges, join them on a single edge, select only the faces of the solid cube and delete, some of the deselected edges from the wire cube were also being deleted)
2011-08-28 17:15:24 +00:00
3e625d1efe bmesh todo: material mesh select/deselect added. 2011-08-16 18:45:03 +00:00
211db03791 Brought back loop multiselect:
----------------------------------------------
Loop multiselect operator brought back. It can
be accessed via the select->edge loop and
select->edge ring menu entries or through the 
ctrl-e edge specials menu.
2011-06-26 01:11:03 +00:00
4cc347c93c Fix for select non manifold:
----------------------------------------------
Select non manifold was not working properly
because BM_Nonmanifold_Edge considered border
edges to be manifold.
2011-06-21 01:14:21 +00:00
08d6932c86 svn merge -r36900:37028 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-31 05:11:04 +00:00
671cb93f1b svn merge -r36801:36840 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-24 04:35:21 +00:00
1d8fa52883 rename BMINDEX_GET/SET to BM_GetIndex/BM_SetIndex 2011-05-13 10:49:26 +00:00
6cc8f734c0 svn merge -r36603:36651 https://svn.blender.org/svnroot/bf-blender/trunk/blender \nwith some manual edits 2011-05-13 04:04:53 +00:00
521d824371 =bmesh=
1. Removed pinning, at least until after trunk
reintegration (it's a usefull feature, but
incomplete).

2. Ripped out the subclassing code I originally
wrote so bmesh would be more usable for modifiers 
(I ended up improving CDDM instead).

3. Inlined some of the macros in bmesh.h, still need to
do the macros in bmesh_operator_api.h.

4. Removed the BMESH_ITER_*** macros (except for BMESH_ITER_INDEX).
   They were too clunkly to be worth it.
2011-05-12 01:55:08 +00:00
88c3781b7c missing free call in rotsys_make_consistent 2011-05-12 00:20:35 +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
bcdd9d236c fixed 4 uses of un-inirialized vars + some compiler warnings. 2011-05-10 23:48:09 +00:00
5ba0c2c049 tag unused arguments, quiet some warnings 2011-05-09 14:32:55 +00:00
5a2a3d7d82 more syncing with trunk, also cleared many warnings with gcc4.6 2011-05-09 04:06:48 +00:00
6ef77cf95a =bmesh= merge from trunk at r36529 2011-05-08 23:43:18 +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
733a97f88e =bmesh= gave friendlier names to loop to region/region to loop 2011-05-01 21:12:45 +00:00
3a77417205 =bmesh= brought loop to region/region to loop back 2011-05-01 20:43:54 +00:00
c785b06cc4 fixed a bug with normals 2011-04-15 02:18:24 +00:00
93fa307712 =bmesh=
Multires interpolation.  It's quite usable yet; I wanted to avoid
subsurfing the multires data and ray tracing original/new
topology.  The result is kindof like trunk's interpolation.

I'll see how much better I can get it.  I might have to go with 
the full-on ray tracing solution.  Right now, it's not very good.

Also made it so trunk files with multires open correctly.
2011-03-27 02:56:41 +00:00
f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
421823e34e =BMesh: Super Knife Tool Alpha=
Implemented a new "super knife".  Activate with k.  Holding CTRL
will allow extended cutting ala old lines mode.  Confirm with enter 
and escape. You cannot cancel, btw, you can only confirm (and undo 
later if you want). Hopefully I'll support undo within the tool soon.

* Supports cutting edges, into faces, etc.  You can pretty much do whatever 
  you want.  Will snap to vertices too.
* Note that if you cut into a face, it must be valid topologically when 
  you press enter to confirm.
* It's pretty and graphical :)
* You can only cut visible geometry.
* UVs/vcols are a little buggy still

Now, thou shalt all cease and desist all lack of motivation for
testing!  No longer shall users put off testing until "it's cooler"!

:P
2010-09-25 01:54:58 +00:00
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
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
388e08af62 BMesh branch
------------
Correct problems with edgetag_context_set(), edgetag_shortest_path(),
minmax_tface(); parameters were missing or of incorrect type.

Joseph: please review these changes.
2010-03-11 19:14:35 +00:00
ea540496c8 implemented select (x-)mirrored. I used a topological approach, which will be later reused in x-mirror editing, weight painting, etc. also ported select randon, select linked flat faces, and select sharp (as in, surroundined by non-flat faces, not sharp as in the sharp flag) edges, and select non-manifold. need to merge in recent trunk changes next. 2010-03-04 01:07:26 +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
73852e75d1 bmesh compile fixes 2010-01-07 14:31:51 +00:00
67ff197cb1 Merge with trunk/2.5 at r25563
Most likely will not compile for others, I'd appreciate any build errors
and missing files reports (I can never seem to get everything committed
and all the build systems working without help).

Porting over the sculpt/multires tools was a breeze,
thanks goes to brecht for a design that didn't exclude
ngons and was easy to port.

Note that I've not tested externally-backed multires
file support yet.  Also, I still need to write version
patch code for some cases.

Some notes:

* Like trunk, topological changes don't update multires right,
  so e.g. subdivide will duplicate multires data on the new faces,
  instead of subdividing it.
* If you set the debug value (ctrl-alt-d) to 1 it'll turn on
  my experiments in speeding up sculpting on higher-res multires
  meshes (but note it makes partial redraw not completely accurate).
* There's a bug where you have to go through editmode to get out
  of sculpt mode, not sure if I inherited or created this myself.
2010-01-05 22:33:41 +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
0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00
70b3adcb03 fixed loopcut preview issues for the most part, though there's still an occasional problem I need to track down 2009-11-09 22:47:55 +00:00
8f788c64db merge with trunk/2.5 at r23876
[[Split portion of a mixed commit.]]
2009-10-22 23:22:05 +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
deebf4f8f0 merge with 2.5/trunk at r23271 2009-09-16 17:43:09 +00:00
cdce0f03c8 commit of patch 19268, rotate uvs by wael oraiby 2009-09-02 20:26:12 +00:00
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
771a4dee0b commit of framework for uv/vcol rotate/mirror 2009-08-28 10:17:31 +00:00
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
de7f08cc41 merge with 2.5 at r22793 2009-08-26 10:27:04 +00:00
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
1aeb5a6925 rearranged some code a bit 2009-08-18 20:15:20 +00:00
f7cef59b3d rearranged some code a bit 2009-08-18 20:05:08 +00:00
348dc14d5b made the crash handler disabled by a command line flag, insted of being #ifdef'd out on release builds. also did little bit of work on subsurf. and face select can now deselect again, and fixed some other bugs with it (and subsurf). 2009-08-15 17:31:28 +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
c73712675b bmeshafied select more/less 2009-08-05 07:15:17 +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
012b419549 select linked has been bmeshafied, yay 2009-08-05 02:34:54 +00:00
4936ec8afc compile fix 2009-08-01 00:53:04 +00:00