Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2008-09-26 23:00:49 +0400
committerCampbell Barton <ideasman42@gmail.com>2008-09-26 23:00:49 +0400
commit3ad55e1541c8e901b57451206f73c4753aa2f4ee (patch)
tree5e93c4930380e41c64a9b5f9f742f4f266613dc2 /source/blender/src/editcurve.c
parent8e1cf42dbd23d99db8e06617f37abec9ab5a146b (diff)
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
Diffstat (limited to 'source/blender/src/editcurve.c')
-rw-r--r--source/blender/src/editcurve.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/source/blender/src/editcurve.c b/source/blender/src/editcurve.c
index 1dee0837445..76a4e1028f0 100644
--- a/source/blender/src/editcurve.c
+++ b/source/blender/src/editcurve.c
@@ -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)