Revision: 16945
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16945
Author:   campbellbarton
Date:     2008-10-06 11:17:49 +0200 (Mon, 06 Oct 2008)

Log Message:
-----------
* 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.

Modified Paths:
--------------
    trunk/blender/source/blender/src/transform_conversions.c
    trunk/blender/source/blender/src/transform_manipulator.c

Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c    2008-10-06 
08:29:15 UTC (rev 16944)
+++ trunk/blender/source/blender/src/transform_conversions.c    2008-10-06 
09:17:49 UTC (rev 16945)
@@ -1428,7 +1428,10 @@
                        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;

Modified: trunk/blender/source/blender/src/transform_manipulator.c
===================================================================
--- trunk/blender/source/blender/src/transform_manipulator.c    2008-10-06 
08:29:15 UTC (rev 16944)
+++ trunk/blender/source/blender/src/transform_manipulator.c    2008-10-06 
09:17:49 UTC (rev 16945)
@@ -282,8 +282,17 @@
                                        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++;
                                                }


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to