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:
authorTon Roosendaal <ton@blender.org>2004-01-24 19:56:12 +0300
committerTon Roosendaal <ton@blender.org>2004-01-24 19:56:12 +0300
commit1f364149d6a07152eef7681737c67e492c1bee1c (patch)
treef33e633cbecd39fe271c1d507021e6d528d946bf /source/blender/src/drawview.c
parent00406f12c6530bd1f54747123407498d6e1b0a4a (diff)
- Nurbs curve/surface Nkey editmode now displays the W value again!
was lost in 2.30 makeover.
Diffstat (limited to 'source/blender/src/drawview.c')
-rw-r--r--source/blender/src/drawview.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/src/drawview.c b/source/blender/src/drawview.c
index 9f130f64195..ef2145edfcd 100644
--- a/source/blender/src/drawview.c
+++ b/source/blender/src/drawview.c
@@ -1066,11 +1066,11 @@ static int ve_median_tot=0;
static void v3d_editvertex_buts(uiBlock *block, Object *ob, float lim)
{
EditVert *eve;
- float median[3];
- int tot;
+ float median[4];
+ int tot, totw;
- median[0]= median[1]= median[2]= 0.0;
- tot= 0;
+ median[0]= median[1]= median[2]= median[3]= 0.0;
+ tot= totw= 0;
if(ob->type==OB_MESH) {
eve= G.edve.first;
@@ -1118,6 +1118,8 @@ static void v3d_editvertex_buts(uiBlock *block, Object *ob, float lim)
while(a--) {
if(bp->f1 & 1) {
VecAddf(median, median, bp->vec);
+ median[3]+= bp->vec[3];
+ totw++;
tot++;
}
bp++;
@@ -1132,28 +1134,34 @@ static void v3d_editvertex_buts(uiBlock *block, Object *ob, float lim)
median[0] /= (float)tot;
median[1] /= (float)tot;
median[2] /= (float)tot;
+ median[3] /= (float)tot;
if(block) { // buttons
ve_median_tot= tot;
- VECCOPY(ve_median, median);
+ QUATCOPY(ve_median, median);
uiBlockBeginAlign(block);
if(ve_median_tot==1) {
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Vertex X:", 10, 140, 300, 19, &(ve_median[0]), -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Vertex Y:", 10, 120, 300, 19, &(ve_median[1]), -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Vertex Z:", 10, 100, 300, 19, &(ve_median[2]), -lim, lim, 10, 3, "");
+ if(totw==tot)
+ uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Vertex W:", 10, 80, 300, 19, &(ve_median[3]), -10.0, 10.0, 10, 3, "");
}
else {
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Median X:", 10, 140, 300, 19, &(ve_median[0]), -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Median Y:", 10, 120, 300, 19, &(ve_median[1]), -lim, lim, 10, 3, "");
uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Median Z:", 10, 100, 300, 19, &(ve_median[2]), -lim, lim, 10, 3, "");
+ if(totw==tot)
+ uiDefButF(block, NUM, B_OBJECTPANELMEDIAN, "Median W:", 10, 80, 300, 19, &(ve_median[3]), -10.0, 10.0, 10, 3, "");
}
uiBlockEndAlign(block);
}
else { // apply
VecSubf(median, ve_median, median);
+ median[3]= ve_median[3]-median[3];
if(ob->type==OB_MESH) {
eve= G.edve.first;
@@ -1199,6 +1207,7 @@ static void v3d_editvertex_buts(uiBlock *block, Object *ob, float lim)
while(a--) {
if(bp->f1 & 1) {
VecAddf(bp->vec, bp->vec, median);
+ bp->vec[3]+= median[3];
tot++;
}
bp++;