[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27702] trunk/blender/source/blender/ editors/curve/editcurve.c: Fixed disappearing of NURBS surface when it' s created from to joined nurbs curves.
Sergey Sharybin
g.ulairi at gmail.com
Tue Mar 23 23:09:33 CET 2010
Revision: 27702
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27702
Author: nazgul
Date: 2010-03-23 23:09:33 +0100 (Tue, 23 Mar 2010)
Log Message:
-----------
Fixed disappearing of NURBS surface when it's created from to joined nurbs curves.
Modified Paths:
--------------
trunk/blender/source/blender/editors/curve/editcurve.c
Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c 2010-03-23 22:09:23 UTC (rev 27701)
+++ trunk/blender/source/blender/editors/curve/editcurve.c 2010-03-23 22:09:33 UTC (rev 27702)
@@ -2835,6 +2835,10 @@
if( is_u_selected(nu1, nu1->pntsu-1) );
else {
+ /* For 2D curves blender uses orderv=0. It doesn't make any sense mathematically. */
+ /* but after rotating orderu=0 will be confusing. */
+ if (nu1->orderv == 0) nu1->orderv= 1;
+
rotate_direction_nurb(nu1);
if( is_u_selected(nu1, nu1->pntsu-1) );
else {
@@ -2855,6 +2859,7 @@
/* 2nd nurbs: u = 0 selected */
if( is_u_selected(nu2, 0) );
else {
+ if (nu2->orderv == 0) nu2->orderv= 1;
rotate_direction_nurb(nu2);
if( is_u_selected(nu2, 0) );
else {
@@ -2900,8 +2905,8 @@
/* merge */
origu= nu1->pntsu;
nu1->pntsu+= nu2->pntsu;
- if(nu1->orderu<3) nu1->orderu++;
- if(nu1->orderv<3) nu1->orderv++;
+ if(nu1->orderu<3 && nu1->orderu<nu1->pntsu) nu1->orderu++;
+ if(nu1->orderv<3 && nu1->orderv<nu1->pntsv) nu1->orderv++;
temp= nu1->bp;
nu1->bp= MEM_mallocN(nu1->pntsu*nu1->pntsv*sizeof(BPoint), "mergeBP");
@@ -2976,7 +2981,7 @@
BLI_freelistN(&nsortbase);
return OPERATOR_CANCELLED;
}
-
+
while(nus2) {
merge_2_nurb(op, editnurb, nus1->nu, nus2->nu);
nus2= nus2->next;
More information about the Bf-blender-cvs
mailing list