* dont change handle types when adjusting the radius or tilt of a curve handel.
* dont take the handles into account for the manipulator center when they are not drawn.
This commit is contained in:
@@ -1428,7 +1428,10 @@ static void createTransCurveVerts(TransInfo *t)
|
||||
if (propmode && head != tail)
|
||||
calc_distanceCurveVerts(head, tail-1);
|
||||
|
||||
testhandlesNurb(nu); /* sets the handles based on their selection, do this after the data is copied to the TransData */
|
||||
/* TODO - in the case of tilt and radius we can also avoid allocating the initTransDataCurveHandes
|
||||
* but for now just dont change handle types */
|
||||
if (ELEM(t->mode, TFM_CURVE_SHRINKFATTEN, TFM_TILT) == 0)
|
||||
testhandlesNurb(nu); /* sets the handles based on their selection, do this after the data is copied to the TransData */
|
||||
}
|
||||
else {
|
||||
TransData *head, *tail;
|
||||
|
||||
@@ -282,8 +282,17 @@ int calc_manipulator_stats(ScrArea *sa)
|
||||
bezt= nu->bezt;
|
||||
a= nu->pntsu;
|
||||
while(a--) {
|
||||
/* exception */
|
||||
if( (bezt->f1 & SELECT) + (bezt->f2 & SELECT) + (bezt->f3 & SELECT) > SELECT ) {
|
||||
/* exceptions
|
||||
* if handles are hidden then only check the center points.
|
||||
* If 2 or more are selected then only use the center point too.
|
||||
*/
|
||||
if (G.f & G_HIDDENHANDLES) {
|
||||
if (bezt->f2 & SELECT) {
|
||||
calc_tw_center(bezt->vec[1]);
|
||||
totsel++;
|
||||
}
|
||||
}
|
||||
else if ( (bezt->f1 & SELECT) + (bezt->f2 & SELECT) + (bezt->f3 & SELECT) > SELECT ) {
|
||||
calc_tw_center(bezt->vec[1]);
|
||||
totsel++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user