[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16945] trunk/blender/source/blender/src: * dont change handle types when adjusting the radius or tilt of a curve handel .
Campbell Barton
ideasman42 at gmail.com
Mon Oct 6 11:17:49 CEST 2008
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++;
}
More information about the Bf-blender-cvs
mailing list