nurbs surface resolution is now per segment rather then being distributed over the whole surface.
This is what 2D do alredy and makes resolution settings more like subsurf level. - This makes it impossible to have a lower resolution output then the nurbs cage, however this dosnt seem a very useful feature. - Using the do-versions from recent curve interpolation fix. Tested with these files. http://digilander.libero.it/pafurijaz/Files/Blender/Libellula.zip http://digilander.libero.it/pafurijaz/Files/Blender/Martello.zip http://digilander.libero.it/pafurijaz/Files/Blender/Punta.zip http://digilander.libero.it/pafurijaz/Files/Blender/Phones.zip http://digilander.libero.it/pafurijaz/Files/Blender/Tubo.zip http://digilander.libero.it/pafurijaz/Files/Blender/Pipe.zip http://digilander.libero.it/pafurijaz/Files/Blender/Tire.zip http://digilander.libero.it/pafurijaz/Files/Blender/Cotton.zip
This commit is contained in:
@@ -828,7 +828,6 @@ short extrudeflagNurb(int flag)
|
||||
MEM_freeN(nu->bp);
|
||||
nu->bp= newbp;
|
||||
nu->pntsv++;
|
||||
if(nu->resolv<3) nu->resolv++;
|
||||
makeknots(nu, 2, nu->flagv>>1);
|
||||
}
|
||||
else if(v==0 || v== nu->pntsu-1) { /* collumn in v-direction selected */
|
||||
@@ -856,7 +855,6 @@ short extrudeflagNurb(int flag)
|
||||
MEM_freeN(nu->bp);
|
||||
nu->bp= newbp;
|
||||
nu->pntsu++;
|
||||
if(nu->resolu<3) nu->resolu++;
|
||||
makeknots(nu, 1, nu->flagu>>1);
|
||||
}
|
||||
}
|
||||
@@ -2470,8 +2468,6 @@ void merge_2_nurb(Nurb *nu1, Nurb *nu2)
|
||||
/* merge */
|
||||
origu= nu1->pntsu;
|
||||
nu1->pntsu+= nu2->pntsu;
|
||||
nu1->resolu+= nu2->pntsu;
|
||||
if(nu1->resolv < nu2->resolv) nu1->resolv= nu2->resolv;
|
||||
if(nu1->orderu<3) nu1->orderu++;
|
||||
if(nu1->orderv<3) nu1->orderv++;
|
||||
temp= nu1->bp;
|
||||
@@ -2997,7 +2993,6 @@ void addvert_Nurb(int mode)
|
||||
if(bp) {
|
||||
nu->pntsu++;
|
||||
|
||||
if(nu->resolu<3) nu->resolu++;
|
||||
makeknots(nu, 1, nu->flagu>>1);
|
||||
|
||||
if(mode=='e') {
|
||||
@@ -4120,8 +4115,8 @@ Nurb *addNurbprim(int type, int stype, int newname)
|
||||
if ELEM5(stype, 0, 1, 2, 4, 6) {
|
||||
nu = (Nurb*)MEM_callocN(sizeof(Nurb), "addNurbprim");
|
||||
nu->type= type;
|
||||
nu->resolu= 12;
|
||||
nu->resolv= 12;
|
||||
nu->resolu= 4;
|
||||
nu->resolv= 4;
|
||||
}
|
||||
|
||||
switch(stype) {
|
||||
@@ -4203,7 +4198,7 @@ Nurb *addNurbprim(int type, int stype, int newname)
|
||||
nu->pntsv= 1;
|
||||
nu->orderu= 5;
|
||||
nu->flagu= 2; /* endpoint */
|
||||
nu->resolu= 32;
|
||||
nu->resolu= 8;
|
||||
nu->bp= callocstructN(BPoint, 5, "addNurbprim3");
|
||||
|
||||
bp= nu->bp;
|
||||
@@ -4361,7 +4356,7 @@ Nurb *addNurbprim(int type, int stype, int newname)
|
||||
}
|
||||
|
||||
nu= addNurbprim(4, 1, newname); /* circle */
|
||||
nu->resolu= 32;
|
||||
nu->resolu= 4;
|
||||
nu->flag= CU_SMOOTH;
|
||||
BLI_addtail(&editNurb, nu); /* temporal for extrude and translate */
|
||||
vec[0]=vec[1]= 0.0;
|
||||
@@ -4394,8 +4389,8 @@ Nurb *addNurbprim(int type, int stype, int newname)
|
||||
nu->pntsu= 5;
|
||||
nu->pntsv= 1;
|
||||
nu->orderu= 3;
|
||||
nu->resolu= 24;
|
||||
nu->resolv= 32;
|
||||
nu->resolu= 4;
|
||||
nu->resolv= 4;
|
||||
nu->flag= CU_SMOOTH;
|
||||
nu->bp= callocstructN(BPoint, 5, "addNurbprim6");
|
||||
nu->flagu= 0;
|
||||
@@ -4441,8 +4436,8 @@ Nurb *addNurbprim(int type, int stype, int newname)
|
||||
xzproj= 1;
|
||||
nu= addNurbprim(4, 1, newname); /* circle */
|
||||
xzproj= 0;
|
||||
nu->resolu= 24;
|
||||
nu->resolv= 32;
|
||||
nu->resolu= 4;
|
||||
nu->resolv= 4;
|
||||
nu->flag= CU_SMOOTH;
|
||||
BLI_addtail(&editNurb, nu); /* temporal for extrude and translate */
|
||||
if(newname && (U.flag & USER_ADD_VIEWALIGNED) == 0)
|
||||
|
||||
Reference in New Issue
Block a user