New loopcut version. much praise goes to Johnny Matthews who implemented precision cutting.

new features:

- after choosing a loop to cut you go into a second mode that lets you choose where exactly on the edge you want to cut.
the placement is in percentages, so 0% is one side of the edge, and 100% is the other side.

- holding CTRL snaps the placement to whole percentages. 1.00 instead of the standard 0.01 of a percentage.

- Pressing S while you place the cut turns on Smooth-subdivide for the cut (or as I like to call it: Loopcutsubdividesmooth :)

- the percentages and the ON/OFF for smooth cut can be seen in the view3D header.

fixes:

- loop takes into account hidden vertices, this solves bug #895.
- Cutpreviews are drawn correctly for triangular faces.
- renamed the function from loop -> loopoperations. I'm sure someone has a problem with the new name too, but BLAH! :D
- the parameters for the function are defines. loopoperations(LOOP_CUT) cuts, and loopoperation(LOOP_SELECT) selects (duh). this is changes in all the places the function gets called.

if people find new bugs, feel free to yell! :)

Roel
This commit is contained in:
2004-01-21 21:45:38 +00:00
parent 83fc1730e6
commit 220e2f0c25
4 changed files with 589 additions and 136 deletions

View File

@@ -1245,11 +1245,11 @@ void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt)
if ELEM(G.obedit->type, OB_CURVE, OB_SURF)
selectrow_nurb();
else if (G.obedit->type==OB_MESH)
loop('s');
loopoperations(LOOP_SELECT);
}
else if(G.qual==LR_CTRLKEY) {
if (G.obedit->type==OB_MESH)
loop('c');
loopoperations(LOOP_CUT);
}
else if((G.qual==0))
transform('r');