Revision: 16910
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16910
Author:   eman
Date:     2008-10-04 02:39:33 +0200 (Sat, 04 Oct 2008)

Log Message:
-----------
- Fix bug in Degree Reduce.
- Make curves and surfaces endtied/clamped by default, not sure we should even 
allow uniform open knots.

Modified Paths:
--------------
    branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp
    branches/nurbs/blender/source/blender/src/editcurve.c

Modified: branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp       
2008-10-04 00:00:56 UTC (rev 16909)
+++ branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp       
2008-10-04 00:39:33 UTC (rev 16910)
@@ -670,12 +670,12 @@
                                                                        
Temp[i-1].x= (Temp[i-1].x-(1.0-alfa)*Temp[i-2].x)/alfa;
                                                                        
Temp[i-1].y= (Temp[i-1].y-(1.0-alfa)*Temp[i-2].y)/alfa;
                                                                        
Temp[i-1].z= (Temp[i-1].z-(1.0-alfa)*Temp[i-2].z)/alfa;
-                                                                       
Temp[i-1].z= (Temp[i-1].H-(1.0-alfa)*Temp[i-2].H)/alfa;
+                                                                       
Temp[i-1].H= (Temp[i-1].H-(1.0-alfa)*Temp[i-2].H)/alfa;
 
                                                                        
rbpts[kj].x= (rbpts[kj].x-beta*rbpts[kj+1].x)/(1.0-beta);
                                                                        
rbpts[kj].y= (rbpts[kj].y-beta*rbpts[kj+1].y)/(1.0-beta);
                                                                        
rbpts[kj].z= (rbpts[kj].z-beta*rbpts[kj+1].z)/(1.0-beta);
-                                                                       
rbpts[kj].z= (rbpts[kj].H-beta*rbpts[kj+1].H)/(1.0-beta);
+                                                                       
rbpts[kj].H= (rbpts[kj].H-beta*rbpts[kj+1].H)/(1.0-beta);
 
                                                                        i++;
                                                                        j--;
@@ -689,7 +689,7 @@
                                                                        A.x= 
delta*rbpts[kj+1].x+(1.0-delta)*Temp[i-2].x;
                                                                        A.y= 
delta*rbpts[kj+1].y+(1.0-delta)*Temp[i-2].y;
                                                                        A.z= 
delta*rbpts[kj+1].z+(1.0-delta)*Temp[i-2].z;
-                                                                       A.z= 
delta*rbpts[kj+1].H+(1.0-delta)*Temp[i-2].H;
+                                                                       A.H= 
delta*rbpts[kj+1].H+(1.0-delta)*Temp[i-2].H;
                                                                        Br= 
NurbanaMath::Dist4d(Temp[i-1],A);
                                                                } //fi
 

Modified: branches/nurbs/blender/source/blender/src/editcurve.c
===================================================================
--- branches/nurbs/blender/source/blender/src/editcurve.c       2008-10-04 
00:00:56 UTC (rev 16909)
+++ branches/nurbs/blender/source/blender/src/editcurve.c       2008-10-04 
00:39:33 UTC (rev 16910)
@@ -4308,6 +4308,7 @@
                        nu->pntsu= 4;
                        nu->pntsv= 1;
                        nu->orderu= 4;
+                       nu->flagu= 2;   /* endpoint */
                        nu->bp= callocstructN(BPoint, 4, "addNurbprim3");
 
                        bp= nu->bp;
@@ -4471,8 +4472,8 @@
                        nu->orderv= 4;
                        nu->flag= CU_SMOOTH;
                        nu->bp= callocstructN(BPoint, 4*4, "addNurbprim6");
-                       nu->flagu= 0;
-                       nu->flagv= 0;
+                       nu->flagu= 2;
+                       nu->flagv= 2;
                        bp= nu->bp;
 
                        for(a=0; a<4; a++) {
@@ -4492,7 +4493,7 @@
                                }
                        }
                        nurbanaInit(nu);
-                       makeknots(nu, 1, nu->flagu>>1); // FIXME This should be 
endtied, definitely.
+                       makeknots(nu, 1, nu->flagu>>1); 
                        makeknots(nu, 2, nu->flagv>>1);
                }
                break;
@@ -4556,10 +4557,7 @@
                        }
                        nu->flagu= 4;
                        nurbanaInit(nu);
-               //      float customKnotV[12] = 
{0,0,0,0.25,0.25,0.5,0.5,0.75,0.75,1,1,1};
-               //      float customKnotU[8]    = {0,0,0,0.5,0.5,1,1,1};
-                               
-                               makeknots(nu, 1, nu->flagu>>1);
+                       makeknots(nu, 1, nu->flagu>>1);
 
                        BLI_addtail(&editNurb, nu); /* temporal for spin */
                        if(newname && (U.flag & USER_ADD_VIEWALIGNED) == 0)
@@ -4567,10 +4565,8 @@
                        else
                                spin_nurb(0, 0);
                        nurbanaInit(nu);        
-       //              
+
                        makeknots(nu, 2, nu->flagv>>1);
-                       //makeknotscustom(nu, 1, &customKnotU[0],8);//
-               //      makeknotscustom(nu, 2, &customKnotV[0],12);// 
                                
                        a= nu->pntsu*nu->pntsv;
                        bp= nu->bp;


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

Reply via email to